cheap-module-source-map和source-map,前者打包编译速度快,但是只包含行的映射,一般用在开发的时候使用,因为我们开发需要较快的编译速度,而且我们编写的代码都是有格式规范的一般也不会出现很难找的情况。后 者则是会包含行和列的映射,在生产环境使用,因为生产环境的代码通常会压缩。react-refresh/babel。在后面搭建react脚手架的时候会用到css-loader,less-loader,sass-loader等等oneOf可以在满足一个 loader 之后直接跳出,像下面这样使用即可babel-loader添加配置,开启缓存即可,eslint 也是类似npm i thread-loader -D,我们项目中一般只需要对 js 进行处理,因为其他文件都是比较少的, 我们可以在babel-loader处理完之后采用thread-loader开启多线程打包.Tree Shaking 是一个术语,通常用于描述移除 JavaScript 中的没有使用上的代码。依赖于ES Module"sideEffects": false"sideEffects": false我们会发现 window.value 出现在了最终的产物里。@babel/plugin-transform-runtime 禁用了 Babel 自动对每个文件的 runtime 注入,而是引入 @babel/plugin-transform-runtime 并且使所有辅助代码从这里引用。~~~~npm i @babel/plugin-transform-runtime -D,在babel-loader ~~options 中添加插件SplitChunksPlugin@vue/preload-webpack-plugin,在 plugins 中使用npm i core-js,