Webpack 2.0 学习过程资料整理

2017-11-02  本文已影响0人  流云012

Webpack学习过程及项目使用问题及资料整理 -- 2017.11.02

Webpack的简介及使用教程

Webpack核心概念:webpack 是一个现代 JavaScript 应用程序的模块打包器(module bundler)。当 webpack 处理应用程序时,它会递归地构建一个依赖关系图(dependency graph),其中包含应用程序需要的每个模块,然后将所有这些模块打包成少量的 bundle - 通常只有一个,由浏览器加载。

参考资料网址汇总

Webpack 打包参数汇总

Webpack 配置及插件汇总

devtool 模块简介

webpack devtool里的7种SourceMap模式

devtool: "source-map", // or "inline-source-map"

entry 和 output 模块简介

module.exports = {
  entry: './main.js',
  output: {
    filename: 'bundle.js'
  }
};
编译后的文件为  bundle.js
module.exports = {
  entry: {
    bundle1: './main1.js',
    bundle2: './main2.js'
  },
  output: {
    filename: '[name].js'
  }
};
编译后的文件为  bundle1.js, bundle2.js

resolve 模块简介

module 模块简介

module: {
    loaders:[
      {
        test: /\.js[x]?$/,
        exclude: /node_modules/,
        loader: 'babel-loader?presets[]=es2015&presets[]=react',
      },
    ]
  }
module: {
    loaders:[
      { test: /\.css$/, loader: 'style-loader!css-loader' },
    ]
 }
module: {
    loaders:[
      { test: /\.(png|jpg)$/, loader: 'url-loader?limit=8192'}
    ]
 }

plugins 插件模块简介

// js压缩插件
new uglifyJsPlugin({
      compress: {
        warnings: false
      }
    })
// 设置webpack默认的环境变量
new webpack.DefinePlugin({
      __DEV__: JSON.stringify(JSON.parse(process.env.DEBUG || 'false'))
    })
    执行 env DEBUG=true, 修改参数的值
// 提取公共部分插件(js,css)
new CommonsChunkPlugin('init.js')
// html 模板修改插件
new HtmlwebpackPlugin({
      title: '标题',
      template: 'index.html', // 源模板文件
      filename: 'index.html'   // 输出文件【注意:这里的根路径是module.exports.output.path】
    }),
// 热更新插件
  new webpack.HotModuleReplacementPlugin(),
// 图形化打包结果显示
new BundleAnalyzerPlugin(), 
// 自动打开浏览器插件,端口号默认 8080
new OpenBrowserPlugin({
      url: 'http://localhost:8080'
    }),
//这里是打包文件头部注释!
new webpack.BannerPlugin('这是一个注释头')
// 去除调试代码,压缩代码
// 复制手动引入的资源文件到指定目录
new CopyWebpackPlugin([
        {
            from: config.srcPath + '/static',
            to: config.outputPath,
            ignore: ['.*']
        }
    ])
上一篇下一篇

猜你喜欢

热点阅读