1.0.0 • Published 6 years ago

wjhnpm v1.0.0

Weekly downloads
1
License
ISC
Repository
-
Last release
6 years ago

从迁移到新版本-使用环境变量-构建性能-

webpack支持在配置文件中返回promise 可在配置文件中做异步处理 eg: webpack.config.js module.exports = function() { return fetchLangs().then(lang => { entry: "...", plugins: new DefinePlugin({LANGUAGE: lang}) }) }

更多的 CLI 参数项 你可以使用一些新的 CLI 参数项:

--define process.env.NODE_ENV="production" 见 DefinePlugin。

--display-depth 显示每个模块到入口的距离。

--display-used-exports 显示一个模块中被使用的 exports 信息。

--display-max-modules 设置输出时显示的模块数量(默认是 15)。

-p 能够定义 process.env.NODE_ENV 为 "production"。

loader默认可被缓存 // 不缓存 loader module.exports = function(source) {

  • this.cacheable(false); return source; }

为每个环境编写彼此独立的 webpack 配置。公用的部分用 webpack-merge 通用配置

生产环境更注重: 1.目标转向更小的bundle 2. 轻量的source map (source-map) (避免在生产中使用 inline-... 和 eval-...,因为它们可以增加 bundle 大小,并降低整体性能。) 3.优化的资源css img等 为了节省加载时间

开发环境(development) 1.强大的,实施重新加载(live reloading) 2. 热模块替换 (hot module replacement) 3. source map (inline-source-map) 4. server(localhost启动服务)

package.json 1.npm watch (添加设置即可)更给文件等内容,自动打包,无需手动build 2.npm start (webpack-dev-server)热加载

代码分离 1.入口起点:使用 entry 配置手动地分离代码。 2.防止重复:使用 CommonsChunkPlugin 去重和分离 chunk。 3.动态导入:通过模块的内联函数调用来分离代码。

插件 express + webpack-dev-middleware (npm run server) 开启服务和自设置端口 uglifyjs-webpack-plugin 删除未引用代码