首先在此声明,本文参考webpack:从入门到真实项目配置
文中所有遇见的配置问题都在下文都有说明(部分报错链接需翻墙访问),再者,项目基于node-v10.15.2,npm-v6.4.1,webpack-v4.41。
-
浏览器不支持
module.exports -
npm i --save-dev @babel/core babel-loader -
babel-preset-env的作用是告诉babel使用哪种编码规则进行文件处理"babel": { "presets": ["@babel/env"] }npm i --save-dev @babel/preset-env,报错参考 -
url-loader和file-loader两个库处理图片等 -
css-loader和style-loader库。前者可以让 CSS 文件也支持import,并且会解析 CSS 文件,后者可以将解析出来的 CSS 通过标签的形式插入到 HTML 中,所以后面依赖前者。 -
使用
extract-text-webpack-plugin插件将 CSS 文件打包为一个单独文件npm i -D extract-text-webpack-plugin@next -
分离代码
-
抽取共同代码,使用 webpack 自带的插件
CommonsChunkPlugin,webpack4+删除了该插件,新增了优化后的SplitChunksPlugin,报错参考 -
clean-webpack-plugin删除不需要的文件,报错参考' CleanWebpackPlugin is not a constructor' -
每次新增 JS 文件我们都需要手动在 HTML 中新增标签,现在我们可以通过一个插件来自动完成这个功能,即是
html-webpack-plugin,github -
按需加载代码,
router -
自动刷新,安装
webpack-dev-server -
build生产环境代码,添加插件
optimize-css-assets-webpack-plugin,UglifyJsPlugin,配置参考 -
优化点:
vendor 这种常用的库我们一般可以使用 CDN 的方式外链进来。











网友评论