javascript - ReactJs + webpack + ie + console.log

标签 javascript internet-explorer reactjs webpack

我有一个用 JSX 编写的项目,我使用 webpack 构建 main.js 文件。

这是我的 webpack.config.js:

var path = require('path');

module.exports = {
  entry:{  main: [
            'consolelog',
            'es5-shim',
            'es5-shim/es5-sham',
            'es6-shim',
            'es6-shim/es6-sham',
"./app/client"
        ]},

  output: {
    filename: '[name].js',
    chunkFilename: '[id].chunk.js',
    path: path.join('public', 'js'),
    publicPath: '/js/'
  },

  module: {
    loaders: [
      { test: /\.js$/, loader: 'jsx-loader?harmony&insertPragma=React.DOM' },
      { test: require.resolve('react'), loader: 'expose?React' },

    ]
  }
};

我的问题是我无法让我的项目在 IE 下运行(我目前使用 IE9 进行测试)。 它总是说“控制台未定义”。

Firefox 和 Chrome 完美运行。

我做错了什么?

我也尝试使用 console-polyfill 但结果相同。

IE9 说它在这行 javascript 代码处失败:

_deprecationWarning2['default']('CollapsableNav', 'CollapsibleNav', 'https://github.com/react-bootstrap/react-bootstrap/issues/425#issuecomment-97110963');

但是上面没有console.log。

我做错了什么?

提前致谢!

最佳答案

在不支持控制台的浏览器中,您需要从代码中剥离控制台功能。对于 webpack,你可以使用 webpack-strip .一种使用方式如下:

var WebpackStrip = require('webpack-strip')

然后将 { test:/\.js$/, loader: WebpackStrip.loader('console.log', 'console.error') } 添加到加载器以剥离 console。日志console.error

{
    module: {
        loaders: [
            { test: /\.js$/, loader: 'jsx-loader?harmony&insertPragma=React.DOM' },
            { test: require.resolve('react'), loader: 'expose?React' },
            { test: /\.js$/, loader: WebpackStrip.loader('console.log', 'console.error') }
        ]
    }
};

关于javascript - ReactJs + webpack + ie + console.log,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30651606/

相关文章:

javascript - 通过启用新元素的拖放来解决 jquery 性能问题

javascript - Puppeteer 等待 url

internet-explorer - IE 中的 Webkit 桌面通知

reactjs - 网页包 + `create-react-app` | ProvidePlugin 未将 React 作为模块加载

javascript - backbone.js 无法获取单个模型

javascript - 如果选中复选框,则不验证发货单 - JavaScript

c++ - 32 位应用程序中的 WebBrowser 控件在 window.open() 调用上启动 64 位 Internet Explorer

css - IE9不透明度不一致的解决方法

android - React Native 0.57.x <Image/> 大图像低质量

javascript - es6 箭头函数中的花括号代表每个