Javascript ReactJs+;网页包+;ie+;console.log
我有一个用JSX编写的项目,我使用webpack构建main.js文件 这是我的webpack.config.js:Javascript ReactJs+;网页包+;ie+;console.log,javascript,internet-explorer,reactjs,webpack,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-
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,它可以完美地工作
我做错了什么
我也尝试了控制台polyfill,但结果相同
IE9说它在以下javascript代码行失败:
_deprecationWarning2['default']('CollapsableNav', 'CollapsibleNav', 'https://github.com/react-bootstrap/react-bootstrap/issues/425#issuecomment-97110963');
但它没有console.log
我做错了什么
提前谢谢你 在不支持控制台的浏览器中,您需要从代码中删除控制台功能。对于您可以使用的网页包。一种使用方法如下:
var WebpackStrip = require('webpack-strip')
然后将{test:/\.js$/,loader:WebpackStrip.loader('console.log','console.error')}
添加到加载程序,以剥离console.log
和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') }
]
}
};
你必须把两台装载机放在同一条线上。使用
加载器
,而不是使用加载器
,并用两个加载器传递一个数组。谢谢。我试过了。我将var WebpackStrip=require('webpack-strip')放在webpack.config.js中,并添加loaders行。但不幸的是,它没有起作用。奇怪的是,我仍然可以在生成的文件“main.js”中看到console.log和console.error。这怎么可能?感谢您的帮助您是否检查了网页包装条模块是否正确加载?如何检查?关于条带加载程序
。这两个包裹之间有什么大的区别吗?编辑:哦,也许它们是同一件事…你能分享周围的代码行吗?有时,问题可能就在你所处的底线之上,也可能就在底线之下。如果在所有代码之前创建一个人造控制台对象,会发生什么window.console=window.console |{log:function(){},error:function(){},warn:function(){}代码>?它可以工作并继续。我将在这里复制这一行,但看起来是React工具使用了大量console.log。下一个错误是:对象不支持属性或方法'defineGetter',好的,显然是localStorage包使用了它,它没有转换。我怎样才能在webpack中自动添加它?所以我不必每次都手动操作。谢谢你的帮助