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

时间:2018-06-06 21:51:48

标签: webpack vue.js vuejs2 webpack-4

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

我在这里缺少什么?

2 个答案:

答案 0 :(得分:10)

设置别名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以供参考。

答案 1 :(得分:0)

  • 对于生产模式: npm run build npm start

  • 对于开发模式: npm run dev

如果您已经运行npm start,但仍然获得Running in production mode

以我为例,我用"start": "nuxt start"代替了"start": "nuxt"

这是正确的package.json

  "scripts": {
    "dev": "nuxt",
    "build": "nuxt build",
    "start": "nuxt start",
    "generate": "nuxt generate"
  },