nuxt.js项目打包的时候如何清除console信息

nuxt项目,在开发和生产接口做自动转换,判断process.env.NODE_ENV,但是打印process.env.NODE_ENV一直都是undefined,这个是怎么回事,build的时候已经设置为production了

clipboard.png

clipboard.png
还有就是nuxt项目build的时候如何清除页面的console信息,他不能像webpack那样自由配置。

阅读 8.6k
3 个回答

楼主,你好!
可以在 nuxt.config.js 中的 build->plugins 中添加 uglifyjs-webpack-plugin 插件,里面有配置可以去掉 console 信息。

const webpack = require('webpack')
const UglifyJsPlugin = require('uglifyjs-webpack-plugin')

module.exports = {
  build: {
    plugins: [
      new UglifyJsPlugin({
        uglifyOptions: {
          compress: {
            warnings: false,
            drop_console: true
          },
          mangle: {
            safari10: true
          }
        },
        sourceMap: true,
        cache: true,
        parallel: true
      })
    ]
  }
}

如有帮助,麻烦点击下采纳,谢谢~

新手上路,请多包涵

nuxt1.x所配置的webpack是3.x的,uglifyjs-webpack-plugin2.x只支持2和3的webpack。
建议:
升级webpack或降级uglifyjs-webpack-plugin@1
参考:https://github.com/webpack-co...

你需要在nuxt.config.js定义这个字段,比如

module.exports = {
  env: {
    NODE_ENV: process.env.NODE_ENV || 'http://localhost:3000'
  }
}

下面是官方文档:https://zh.nuxtjs.org/api/con...

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题