can i remove the error:
You are running Vue in development mode.
Make sure to turn on production mode when deploying for production.
See more tips at https://vuejs.org/guide/deployment.html
webpack.prod.conf.js
var path = require('path')
var config = require('../config')
var utils = require('./utils')
var webpack = require('webpack')
var merge = require('webpack-merge')
var baseWebpackConfig = require('./webpack.base.conf')
var ExtractTextPlugin = require('extract-text-webpack-plugin')
var HtmlWebpackPlugin = require('html-webpack-plugin')
var env = config.build.env
var webpackConfig = merge(baseWebpackConfig, {
module: {
loaders: utils.styleLoaders({ sourceMap: config.build.productionSourceMap, extract: true })
},
devtool: config.build.productionSourceMap ? '#source-map' : false,
output: {
path: config.build.assetsRoot,
filename: utils.assetsPath('js/[name].[chunkhash].js'),
chunkFilename: utils.assetsPath('js/[id].[chunkhash].js')
},
vue: {
loaders: utils.cssLoaders({
sourceMap: config.build.productionSourceMap,
extract: true
})
},
plugins: [
// http://vuejs.github.io/vue-loader/workflow/production.html
new webpack.DefinePlugin({
'process.env': env
}),
new webpack.optimize.UglifyJsPlugin({
compress: {
warnings: false
}
}),
new webpack.optimize.OccurenceOrderPlugin(),
// extract css into its own file
new ExtractTextPlugin(utils.assetsPath('css/[name].[contenthash].css')),
// generate dist index.html with correct asset hash for caching.
// you can customize output by editing /index.html
// see https://github.com/ampedandwired/html-webpack-plugin
new HtmlWebpackPlugin({
filename: config.build.index,
template: 'index.html',
inject: true,
minify: {
removeComments: true,
collapseWhitespace: true,
removeAttributeQuotes: true
// more options:
// https://github.com/kangax/html-minifier#options-quick-reference
},
// necessary to consistently work with multiple chunks via CommonsChunkPlugin
chunksSortMode: 'dependency'
}),
// split vendor js into its own file
new webpack.optimize.CommonsChunkPlugin({
name: 'vendor',
minChunks: function (module, count) {
// any required modules inside node_modules are extracted to vendor
return (
module.resource &&
/\.js$/.test(module.resource) &&
module.resource.indexOf(
path.join(__dirname, '../node_modules')
) === 0
)
}
}),
// extract webpack runtime and module manifest to its own file in order to
// prevent vendor hash from being updated whenever app bundle is updated
new webpack.optimize.CommonsChunkPlugin({
name: 'manifest',
chunks: ['vendor']
})
]
})
if (config.build.productionGzip) {
var CompressionWebpackPlugin = require('compression-webpack-plugin')
webpackConfig.plugins.push(
new CompressionWebpackPlugin({
asset: '[path].gz[query]',
algorithm: 'gzip',
test: new RegExp(
'\\.(' +
config.build.productionGzipExtensions.join('|') +
')$'
),
threshold: 10240,
minRatio: 0.8
})
)
}
module.exports = webpackConfig
build.js
// https://github.com/shelljs/shelljs
require('shelljs/global')
env.NODE_ENV = 'production'
var path = require('path')
var config = require('../config')
var ora = require('ora')
var webpack = require('webpack')
var webpackConfig = require('./webpack.prod.conf')
var spinner = ora('building for production...')
spinner.start()
var assetsPath = path.join(config.build.assetsRoot, config.build.assetsSubDirectory)
rm('-rf', assetsPath)
mkdir('-p', assetsPath)
webpack(webpackConfig, function (err, stats) {
if (err) throw err
process.stdout.write(stats.toString({
colors: true,
modules: false,
children: false,
chunks: false,
chunkModules: false
}) + '\n')
var indexPath = path.resolve(__dirname, '../dist/index.html')
var newIndexPath = path.resolve(__dirname, '../templates')
var newStaticPath = path.resolve(__dirname, '../static')
rm('-rf', newIndexPath);
rm('-rf', newStaticPath);
mkdir('-p', newIndexPath)
mkdir('-p', newStaticPath)
mv(indexPath, newIndexPath)
mv(assetsPath + '/*', newStaticPath)
rm('-rf', config.build.assetsRoot);
spinner.stop()
})
vue 2.1.8
The error message has already told you what to do:
Please refer to https://vuejs.org/v2/guide/deployment.html
en,i use vue-cli,
look here
new webpack.DefinePlugin({
'process.env': env
}),
so why
You need to define a string literal within quotes, as in the example:
NODE_ENV: '"production"'
instead of
env.NODE_ENV = 'production'
vue-cli prod.env.js
module.exports = {
NODE_ENV: '"production"'
}
look
2.1.8 vue.js
if ("development" !== 'production' &&
inBrowser && typeof console !== 'undefined') {
console[console.info ? 'info' : 'log'](
"You are running Vue in development mode.\n" +
"Make sure to turn on production mode when deploying for production.\n" +
"See more tips at https://vuejs.org/guide/deployment.html"
);
}
In your build.js
Edit: it was in vue-cli generated file, sorry.
Since it's a vue-cli issue, please open an issue at vue-cli's repo instead, thanks!
no, it can`t solve
NODE_ENV: '"production"'
the code is Error
en,thanks

The solution is explained here: https://github.com/vuejs/vue/issues/4694

Indeed, here is the check implemented in vue.common.js:
if (process.env.NODE_ENV !== 'production' &&
inBrowser && typeof console !== 'undefined') {
console[console.info ? 'info' : 'log'](
"You are running Vue in development mode.\n" +
"Make sure to turn on production mode when deploying for production.\n" +
"See more tips at https://vuejs.org/guide/deployment.html"
);
}
Detailed explanation can be found here: https://github.com/vuejs/vue/blob/5300e717fa52480bf301453beabbd863eeff0d8c/dist/README.md
It is not work for me. In the webpack.base.conf.js:
alias: { 'vue$': 'vue/dist/vue.common.js', 'src': resolve('src'), 'assets': resolve('src/assets'), 'components': resolve('src/components') }
In the prod.env.js:
module.exports = { NODE_ENV: '"production"' }
when webpack running, the value of process.env.NODE_ENV equals to production. But the value will equal to development when rendering the page.
How can I fix it? Thanks.
So I cleaned up this thread from unrelated comments. Please use forum.vuejs.org or chat.vuejs.org for questions and problems you have.
Most helpful comment
The solution is explained here: https://github.com/vuejs/vue/issues/4694
Indeed, here is the check implemented in vue.common.js:
Detailed explanation can be found here: https://github.com/vuejs/vue/blob/5300e717fa52480bf301453beabbd863eeff0d8c/dist/README.md