【问题标题】:VueJS shows "development mode" message even with on build in production-mode即使在生产模式下构建,VueJS 也会显示“开发模式”消息
【发布时间】:2018-11-16 17:09:07
【问题描述】:

我在让 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 设置为“生产”,但没有区别...

我在这里错过了什么?

【问题讨论】:

  • 添加Vue.config.productionTip = false,查看Vue Guide: ProductionTip
  • 你是用vue cli来初始化项目的吗?
  • @Sphinx 我知道你可以主动抑制它,但如果你在生产模式下构建它应该没有必要,对吧?
  • @Prashant 不,我没有...

标签: webpack vue.js vuejs2 webpack-4


【解决方案1】:

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

【讨论】:

  • 注意,简单地将 vue.js 重命名为 vue.min.js 并不能抑制消息:您必须切换到缩小的 vue。
  • 为什么我们甚至需要这个别名?我没有设置我的项目,但这是我必须像这样导入的唯一包?删除别名会破坏我的应用程序
  • @HenryIng-Simmons 您的问题的答案在我在回答中引用的 Github 问题中。这是一条评论,可以看看。 github.com/vuejs/vue/issues/5063#issuecomment-283605691
  • 感谢您发布此信息。这个警告已经困扰我很久了。即使我将未缩小的 vue 集成到缩小它的管道中......
猜你喜欢
  • 2017-01-27
  • 2020-06-03
  • 1970-01-01
  • 2017-08-06
  • 2019-01-13
  • 1970-01-01
  • 1970-01-01
  • 2019-11-19
  • 2020-03-27
相关资源
最近更新 更多