2016-01-20 55 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

這是迄今爲止的正確答案。 –