VueJS 即使在生产模式下内置也能显示"development mode"消息



我在让 VueJS2 (2.2.0( 在生产模式下运行时遇到问题。消息"您正在开发模式下运行 Vue"总是显示在控制台中,即使我在生产模式下使用 webpack 构建它。根据 https://v2.vuejs.org/v2/guide/deployment.html 在生产模式下运行 webpack 应该足够了,并且一切都被缩小了,所以 webpack 似乎"知道"它在生产模式下运行,但 vueJs 没有一起玩。

我的 webpack 配置看起来像这样:

let webpack = require('webpack');
let path = require('path');
module.exports = {
entry: {
app: './src/app.js',
vendor: ['vue', 'axios']
},
output: {
path: path.resolve(__dirname, 'public/js'),
filename: "[name].js",
publicPath: './public',
},
optimization: {
splitChunks: {
cacheGroups: {
vendor: {
chunks: 'initial',
name: 'vendor',
test: /[\/]node_modules[\/]/,
}
}
}
},
resolve: {
alias: {
vue: 'vue/dist/vue.js'
}
}
};

为了构建用于生产的缩小文件,我运行:

webpack --mode=production --hide-modules

我还尝试在运行 webpack (4.11.1( 之前手动将NODE_ENV设置为"生产",但没有区别......

我在这里错过了什么?

设置别名vue/dist/vue.js时,您使用的是始终处于开发模式的文件。将您的别名更改为vue/dist/vue.min.js,您将处于生产模式。

你可以设置你的 Vue 版本来匹配你的构建环境。此示例假定process.env.NODE_ENV设置为生产版本的production,因此您需要确保确实如此才能使用此示例。

...
resolve: {
alias: {
vue: process.env.NODE_ENV == 'production' ? 'vue/dist/vue.min.js' : 'vue/dist/vue.js'
}
}

请参阅此 Github 问题以供参考。

最新更新