- 按需援用 外部的组件按需援用
2.启用happypack多核构建项目
3.修正source-map设置
- 启用DllPlugin和DllReferencePlugin预编译库文件
1、按需援用
1.1险些一切的第三方组件框架都邑供应组件的按需援用体式格局,以iview为例,经由过程借助插件babel-plugin-import能够完成按需加载组件,削减文件体积,只需要修正.babelrc文件
npm install babel-plugin-import --save-dev
// .babelrc
{
"plugins": [["import", {
"libraryName": "iview",
"libraryDirectory": "src/components"
}]]
}
1.2然后如许按需引入组件,就能够减小体积了
import { Button } from 'iview'
Vue.component('Table', Table)
2、启用happypack多核构建项目
装置happypack后,修正/build/webpack.base.conf.js文件即可
npm install happypack --save-dev
// /build/webpack.base.conf.js
const HappyPack = require('happypack')
const os = require('os')
const happyThreadPool = HappyPack.ThreadPool({ size: os.cpus().length })
// 增添HappyPack插件
plugins: [
new HappyPack({
id: 'happy-babel-js',
loaders: ['babel-loader?cacheDirectory=true'],
threadPool: happyThreadPool,
})
]
// 修正引入loader
{
test: /\.js$/,
// loader: 'babel-loader',
loader: 'happypack/loader?id=happy-babel-js', // 增添新的HappyPack构建loader
include: [resolve('src'), resolve('test')]
}
完成js缓存
webpack插件CommonsChunkPlugin的重要作用是抽取webpack项目进口chunk的大众部份,详细的用法就不做过量引见,不太相识能够参考webpack官网引见;
该插件是webpack项目经常运用的一个优化功用,险些在每一个webpack项目中都邑用到。运用该插件带来的优点:
提拔webpack打包速率和项目体积:将webpack进口的chunk文件中一切大众的代码提掏出来,削减代码体积;同时提拔webpack打包速率。
应用缓存机制:依靠的大众模块文件平常很少变动或许不会变动,如许自力模块文件提掏出能够历久缓存。
但是在项目中,若插件打开体式格局不准确的话,上面的第二点实际上是没法完成,由于这类情况下:
没有被修正过的公有代码或库代码打包出的Entry Chunk,会跟着其他营业代码的变化而变化,致使页面上的长缓存机制失效。
那末,下面就来开启CommonsChunkPlugin准确的打开体式格局。