Webpack 如何使用网页包Encore设置VueJS生产模式

Webpack 如何使用网页包Encore设置VueJS生产模式,webpack,vue.js,vuejs2,production-environment,Webpack,Vue.js,Vuejs2,Production Environment,我正在尝试使用网页包Encore设置VueJS的生产模式。因此,我指定了一个新的插件,正如医生所说,但这似乎没有改变任何事情 new webpack.DefinePlugin({ 'process.env.NODE_ENV': JSON.stringify('production'), }), 我尝试了多种不同的NODE\u ENV设置语法,但似乎都不起作用 我错过什么了吗?我的网页是这样的 const CopyWebpackPlugin = require('copy-webpack

我正在尝试使用网页包Encore设置VueJS的生产模式。因此,我指定了一个新的插件,正如医生所说,但这似乎没有改变任何事情

new webpack.DefinePlugin({
  'process.env.NODE_ENV': JSON.stringify('production'),
}),
我尝试了多种不同的
NODE\u ENV
设置语法,但似乎都不起作用

我错过什么了吗?我的网页是这样的

const
  CopyWebpackPlugin = require('copy-webpack-plugin'),
  Encore = require('@symfony/webpack-encore'),
  UglifyJsPlugin = require('uglifyjs-webpack-plugin'),
  webpack = require('webpack');

Encore
  .setOutputPath('public/build/')
  .setPublicPath('/build')
  .cleanupOutputBeforeBuild()
  .addEntry('app', './assets/js/app.js')
  .addEntry('admin', './assets/js/admin.js')
  .addEntry('common', './assets/js/common.js')
  .addPlugin(new CopyWebpackPlugin([
   ...
  ]))
  .enableSassLoader()
  .enableVueLoader()
  .autoProvideVariables({
    '$': 'jquery',
    'jQuery': 'jquery',
    'window.$': 'jquery',
    'window.jQuery': 'jquery',
  })
  .enableSourceMaps(!Encore.isProduction())
;
const config = Encore.getWebpackConfig();

config.plugins = config.plugins.filter(
  (plugin) => !(plugin instanceof webpack.optimize.UglifyJsPlugin)
);
if (Encore.isProduction()) {
  config.plugins.push(
    new webpack.DefinePlugin({
      'process.env.NODE_ENV': JSON.stringify('production'),
    }),
    new UglifyJsPlugin()
  );
}
config.resolve.alias = {
  handlebars: 'handlebars/dist/handlebars.min.js',
  vue: 'vue/dist/vue.js',
};

module.exports = config;
我也尝试过,但没有成功

.enableVueLoader(function(options) {
  options.preLoaders = {
    productionMode: true,
  };
});

我正在使用Webpack Encore
0.20
和Webpack
3
以及VueJS
2.5.16
有两种方法可以做到这一点

  • webpack.config.js
    中,更改vue的别名,如下所示:

    config.resolve.alias = {
        vue: 'vue/dist/vue.min.js',
    };
    
  • 显式关闭开发工具

    import Vue from 'vue'
    import App from './App'
    
    Vue.config.devtools = false
    Vue.config.productionTip = false
    
    new Vue({
       el: '#app',
       template: '<App/>',
       components: { App }
    })
    

    yarn run encore production