即使在生产模式下构建,VueJS也会显示“开发模式”消息

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了即使在生产模式下构建,VueJS也会显示“开发模式”消息相关的知识,希望对你有一定的参考价值。

我遇到了让VueJS2(2.2.0)在生产模式下运行的问题。消息“您正在开发模式下运行Vue”。总是出现在控制台中,即使我在生产模式下使用webpack构建它。根据https://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设置为“production”,但没有区别......

我在这里错过了什么?

答案

设置别名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'
  

请参阅this Github issue以供参考。

以上是关于即使在生产模式下构建,VueJS也会显示“开发模式”消息的主要内容,如果未能解决你的问题,请参考以下文章

带有历史模式和生产的 vue-router 的空白页面

无法判断 Vue 项目是处于调试模式还是 Visual Studio 的发布模式

angular v8 - 如何在开发模式下也获得生产构建模板错误

Reactable在生产模式下不起作用,但在开发模式下可以正常工作

ionic iOS FCM 在开发模式下工作,但在生产模式下不工作

NextJS 错误:构建项目时未定义组件道具(在开发模式下一切正常)