laravel生产环境编译屏蔽console、加版本号

由于不同的laravel版本或者安装的webpack依赖的版本不同可能会有不同的配置, 因此最好是在gulpfile.js或webpack.mix.js 先打印输出引入的{mix}
如下是laravel5.5的操作
const { mix } = require ( 'laravel-mix' ) ;
console.log ( 'mix:' ,mix.config )

//输出如下
{
  production: true,//是否处于生产环境 npm run production
  js: [],
  customAssets: [],
  extractions: [],
  preprocessors: {},
  react: false,
  preact: false,
  typeScript: false,
  autoload: {},
  browserSync: false,
  hmr: false,
  postCss: [],
  autoprefixer: true,
  purifyCss: false,
  publicPath: 'public',
  versioning: false,
  notifications: { onSuccess: true, onFailure: true },
  sourcemaps: false,
  resourceRoot: '/',
  vue: { preLoaders: {}, postLoaders: {}, esModule: false },
  imgLoaderOptions: { enabled: true, gifsicle: {}, mozjpeg: {}, optipng: {}, svgo: {} },
  fileLoaderDirs: { images: 'images', fonts: 'fonts' },
  babel: [Function: babel],
  processCssUrls: true,
  extractVueStyles: false,
  globalVueStyles: '',
   uglify:
   {  
     sourceMap: true,
     uglifyOptions: { compress: [Object], output: [Object] },//压缩混淆js的配置项
   },
  cleanCss: {},
  webpackConfig: {},
  clearConsole: true,
  merge: [Function: merge]
}

在输出的配置项中看到“标红”的第一部分,
production: true 代表是否处于生产环境 npm run production;

一、如果想增加版本号,只要在最后判断 
mix . config .production 
if(mix.config.production){
    console.log('InProd')
    mix.version();
}



第二部分  代表压缩混淆js的配置项
uglify:
   { 
     sourceMap: true,
     uglifyOptions: { compress: [Object], output: [Object] },
   },


二、这里如果想屏蔽console,需要更改第二部分的uglify配置项
// remove js console.log
mix.config.uglify.uglifyOptions = {
    compress: {
        warnings: false,
        drop_console: true,//console
        pure_funcs: ['console.log']//移除console
    }
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值