使用Webpack 2控制console.log输出

时间:2017-03-07 18:16:38

标签: javascript webpack-2

我最近升级到Webpack 2,现在浏览器中的所有console.logs都消失了,所有redux-logger输出以及所有JavaScript错误和警告都消失了。

我有两个配置 - 开发和测试。它们实际上是相同的,但dev有console.logs和测试没有。如何在测试中启用它们?

这是具有console.logs的开发人员:

module.exports = {
  devtool: 'source-map',

  entry: ['bootstrap-loader/extractStyles'],

  output: {
    publicPath: 'dist/',
  },

  module: {
    rules: [{
      test: /\.scss$/,
      use: [
        { loader: 'style-loader' },
        { loader: 'css-loader' },
        { loader: 'postcss-loader', options: { plugins: function () { return [ require('autoprefixer') ]; }}},
        { loader: 'sass-loader' },
      ]
    }, {
      test: /\.css$/,
      use: [
        'style-loader',
        'css-loader',
      ],
    }],
  },

  plugins: [
    new webpack.DefinePlugin({
      'process.env': { NODE_ENV: '"test"' },
      __DEVELOPMENT__: true,
    }),
    new ExtractTextPlugin({ filename: 'bundle.css' }),
    new webpack.optimize.UglifyJsPlugin({ sourceMap: true }),
  ],
};

这是测试,但不是,但应该:

const webpack = require('webpack');     const ExtractTextPlugin = require('extract-text-webpack-plugin');

{{1}}

首先怀疑Uglify插件,尝试删除它 - 没有结果。是什么给了什么?

1 个答案:

答案 0 :(得分:-1)

在测试配置中,entry不包含您的应用。因此,它并没有被捆绑,而且console.log因为它们不存在而不会被呼叫,实际上您的整个应用都被排除在外。因此,您还需要在测试配置中包含您的应用入口点:

entry: ['bootstrap-loader/extractStyles', './src/index'],