2016-01-20 59 views
5

你好我坚持我的申请,我的应用程序中的所有其他浏览器工作正常,不是在IE它抛出错误如何禁用严格模式,同时捆绑阵营使用的WebPack

0x800a0416 - JavaScript runtime error: Multiple definitions of a property not allowed in strict mode 

我在的WebPack实现装载机。配置

module: { 
    loaders: [{ 
     test: /\.js?$/, 
     exclude: /(node_modules|bower_components)/, 
     loaders: ['babel'], 
     include: path.join(__dirname, 'scripts') 
    }] 
} 

和我的package.json脚本包含"build": "./node_modules/.bin/webpack --config webpack.config.production.js --progress --profile --colors",为构建捆

如果我会明确地找到use strict从包中取出,然后它工作正常,所以我怎么能删除严格的模式,而使用的WebPack

+0

从它的外观你正在使用es6,因为你使用babel,如果你在这里阅读http://stackoverflow.com/questions/31685262/not-recommended-to-write-out-use-strict-with- ES6。为什么你需要写严格? –

+2

请参阅http://stackoverflow.com/questions/33821312/how-to-remove-global-use-strict-added-by-babel –

+0

@MikeD:我检查了我的项目我没有写我的代码中的任何地方“使用严格”它会自动进入bundle.js文件 –

回答

2

我有包括像

blacklist: ["useStrict"] 

和我.babelrc文件黑名单选项来创建一个包它工作正常。

+0

这不适用于Babel版本6及以上,它只适用于Babel 5. – simeg

5

如果你看到那个错误,那么你很可能已经在你的代码库中的某个地方声明了同一对象上的多个属性。禁用警钟只是修复症状。

如果我在JSX中声明了重复的属性,我发现这个错误会弹出来。当做<MyComponent className="foo" onClick={onClick} className="foobar" />或意外复制一些其他财产。

查找并修复实际错误,而不是仅仅抑制错误消息。 IE应该告诉你它正在发生什么事情,并且应该不难看到那里有什么,并找出哪个组件存在问题。

+1

谢谢你。由于我使用的是browser.js,因此我没有从IE中获得特定的行号,但是我浏览了一下并在元素上找到了多个id属性。 – monalisa717

+1

这是两个答案中最好的。 – boatcoder

+1

这是迄今为止的正确答案。 –