Webpack学习
webpack网址
新手教程, 地址(imooc)
- webpack命令:
// 命令初始化
npm init
// 安装webpack
npm install webpack --save-dev
// 创建一个hello的文件
touch hello.js
// 打包hello.js
webpack hello.js hello.bundle.js
1.asset: 打包生成的资源文件
2.size: 打包生成的文件大小
3.chunks: 打包后的分块
4.chunkName: 打包的分块名称
5.webpack不会处理css文件,需要相应的loader处理(css-loader[处理css文件],style-loader[处理完的css文件代码,创建一个style标签进行引入]): 一是在required的时候指定, 一是在webpack配置/命令中指定css文件处理的loader
// js中css前加loader
require('style-loader!css-loader!./style.css');
// webpack中命令指定css文件处理loader
webpack test.js test.bundle.js --module-bind 'css=style-loader!css-loader'
// 自动打包
webpack test.js test.bundle.js --module-bind 'css=style-loader!css-loader' --watch
// 打包过程
webpack test.js test.bundle.js --module-bind 'css=style-loader!css-loader' --progress
// 打包引用模块
webpack test.js test.bundle.js --module-bind 'css=style-loader!css-loader' --display-modules
// 打包原因
webpack test.js test.bundle.js --module-bind 'css=style-loader!css-loader' --display-reasons
- 指定webpack文件
// webpack的默认文件是webpack.config.js
webpack --config webpack.dev.config.js
- 启动命令
// 指定文件, 过程, 展示modules, 颜色, 打包原因
webpack --config webpack.config.js --progress --display-modules --colors --display-reasons
- output相关:
[filename]: [chunkFilename]:
[publicPath]: 会追加到img静态资源路径前
code spliting
代码分割的几种方式
各种loaders
- css-loader: 能够识别css文件
- style-loader: 把css创建一个style标签插入到html中
- url-loader: 处理静态资源图片
- babel-loader: 转换es6语法
webpack2的新特性, 传送门
- TODO
QS
- 1.代码分割
- 2.HMR(hot module replacement)
- 3.dll优化编译速度
- 4.更小的打包
- 5.公共类库/业务组件模块打包分割
- 6.babel的ployfill和runtime的区别
- 7.manifest.json是什么
- 8.vue-cli中icon-font的引入问题
- 9.img无法找到问题