zoukankan      html  css  js  c++  java
  • webpack 配置文件说明

    var path = require("path");
    var webpack = require("webpack");
    
    var HtmlwebpackPlugin = require('html-webpack-plugin');
    
    var node_modules = path.resolve(__dirname, 'node_modules');
    var pathToReact = path.resolve(node_modules, 'react/dist/react.min.js');
    var staticPath = 'assets';
    
    module.exports = {
      entry: [  //入口文件
        'webpack/hot/dev-server',
        './app/Main.js'
      ],
      output: {
        path: path.resolve(__dirname, staticPath),
        publicPath: "/",
        filename: 'assets/dev/js/build.js'
      },
      resolve: {
        extensions: ['', '.js', '.jsx', 'sass']
      },
      module: {
        loaders: [
          {
            test: /.js?$/,
            exclude: node_modules, 
            loader: 'babel',
            query: {
              "presets": ["react", "es2015", "stage-0", "react-hmre"]
            }
          }, {
            test: /.sass$/,
            loader: 'style!css!sass'
          }, {
            test: /.(png|jpg)$/,
            loader: 'url?limit=25000'
          }
        ],
        noParse: [pathToReact]  //每当 Webpack 尝试去解析那个压缩后的文件,我们阻止它,因为这不必要。
      },
      plugins: [
        new webpack.HotModuleReplacementPlugin(),
        new webpack.NoErrorsPlugin(),
        new ExtractTextPlugin("css/[name].css"),    //单独使用style标签加载css并设置其路径
        new HtmlWebpackPlugin({                        //根据模板插入css/js等生成最终HTML
           favicon:'./src/img/favicon.ico', //favicon路径
           filename:'/view/index.html',    //生成的html存放路径,相对于 path
           template:'./app/index.html',    //html模板路径
           inject: 'body',    //允许插件修改哪些内容,包括head与body,或者true
           hash:true,    //为静态资源生成hash值
           minify:{    //压缩HTML文件
               removeComments:true,    //移除HTML中的注释
               collapseWhitespace:false    //删除空白符与换行符
           }
        })
      ]
    };
    

    1.entry参数定义了打包后的入口文件,数组中的所有文件会按顺序打包。每个文件进行依赖的递归查找,直到所有相关模块都被打包。

    如有多个需要打包,写法如下:

    entry: {
            login:  './js/login',
            regist: './js/regist'
    }
    

    2.output参数定义了输出文件的位置,其中常用的参数包括:

      path: 打包文件存放的绝对路径
      publicPath: 网站运行时的访问路径
      filename: 打包后的文件名

  • 相关阅读:
    开始写游戏 --- 第三十一篇
    开始写游戏 --- 第三十篇
    开始写游戏 --- 第二十九篇
    开始写游戏 --- 第二十八篇
    高并发性能调试经验分享
    eclipse调试jdk源码
    synzhronized原理3
    内存屏障
    《JAVA NIO》读书笔记
    并发工具类
  • 原文地址:https://www.cnblogs.com/cyj7/p/5519996.html
Copyright © 2011-2022 走看看