Caching 禁用webpack 4 vue cli 3中的缓存加载程序
我正在使用vue cli 3/webpack 4项目。 我的构建是在AWS Codebuild上生成的,它为每个构建启动一个新的VM实例。 webpack中的Cache-loader缓存babel loader、vue loader和terser的结果。但由于我每次都运行一个新的实例VM,所以我没有利用它。 如果缓存本身有一些开销,我最好按照这里的建议关闭它 如何通过vue.conf对象配置webpack以删除缓存加载程序。 谢谢 我的项目为生产生成的网页包配置为Caching 禁用webpack 4 vue cli 3中的缓存加载程序,caching,vue.js,webpack,vue-cli,vue-cli-3,Caching,Vue.js,Webpack,Vue Cli,Vue Cli 3,我正在使用vue cli 3/webpack 4项目。 我的构建是在AWS Codebuild上生成的,它为每个构建启动一个新的VM实例。 webpack中的Cache-loader缓存babel loader、vue loader和terser的结果。但由于我每次都运行一个新的实例VM,所以我没有利用它。 如果缓存本身有一些开销,我最好按照这里的建议关闭它 如何通过vue.conf对象配置webpack以删除缓存加载程序。 谢谢 我的项目为生产生成的网页包配置为 rules: [
rules: [
/* config.module.rule('vue') */
{
test: /\.vue$/,
use: [
/* config.module.rule('vue').use('cache-loader') */
{
loader: 'cache-loader',
options: {
cacheDirectory: '/Users/digitalsuppliers/work/new_build_branch/bmsconsole-client/node_modules/.cache/vue-loader',
cacheIdentifier: '22f91b09'
}
},
/* config.module.rule('vue').use('vue-loader') */
{
loader: 'vue-loader',
options: {
compilerOptions: {
preserveWhitespace: false
},
cacheDirectory: '/Users/digitalsuppliers/work/new_build_branch/bmsconsole-client/node_modules/.cache/vue-loader',
cacheIdentifier: '22f91b09'
}
}
]
},
{
test: /\.jsx?$/,
exclude: [
function () { /* omitted long function */ }
],
use: [
/* config.module.rule('js').use('cache-loader') */
{
loader: 'cache-loader',
options: {
cacheDirectory: '/Users/digitalsuppliers/work/new_build_branch/bmsconsole-client/node_modules/.cache/babel-loader',
cacheIdentifier: 'e8179b56'
}
},
/* config.module.rule('js').use('thread-loader') */
{
loader: 'thread-loader'
},
/* config.module.rule('js').use('babel-loader') */
{
loader: 'babel-loader'
}
]
}
一种解决方案是完全禁用缓存,或者仅在基于条件的生产/开发中禁用缓存。 要使用它,请打开vue.config-js并在那里编写
module.exports = {
chainWebpack: config => {
// disable cache for prod only, remove the if to disable it everywhere
// if (process.env.NODE_ENV === 'production') {
config.module.rule('vue').uses.delete('cache-loader');
config.module.rule('js').uses.delete('cache-loader');
config.module.rule('ts').uses.delete('cache-loader');
config.module.rule('tsx').uses.delete('cache-loader');
// }
},
在本例中,我已注释掉该条件,因此根本不使用缓存加载程序