2016-01-20 17 views
5

Witam zatrzymany z mojego wniosku, moja aplikacja działa poprawnie we wszystkich innej przeglądarki nie w IE to rzucać BłądJak wyłączyć tryb ścisły podczas zwijania React użyciu WebPACK

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

I wprowadziły ładowarka w WebPack. config

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

i mój skrypt Package.json zawierać "build": "./node_modules/.bin/webpack --config webpack.config.production.js --progress --profile --colors", ™ dla zbudować pakiet

Jeśli będę wyraźnie odnaleźć use strict i usunąć go z pakietu to działa dobrze, więc jak mogę usunąć który trybie ścisłym natomiast utworzyć pakiet za pomocą WebPACK

+0

Wygląda na to, że używasz es6, ponieważ używasz Babel i jeśli czytasz tutaj http://stackoverflow.com/questions/31685262/not-recommended-to-write-out-use-strict- with- es6. Dlaczego musisz pisać stricte? –

+2

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

+0

@MikeD: Sprawdziłem w moim projekcie, którego nie napisałem nigdzie w moim kodzie "użyj ścisłego" automatycznie pojawi się w pliku bundle.js –

Odpowiedz

2

Mam obejmują opcję Czarna lista mojego pliku .babelrc jak

blacklist: ["useStrict"] 

i to działa dobrze.

+0

To nie działa w wersji Babel 6 i nowszych działa tylko dla Babel 5. – simeg

5

Jeśli widzisz ten błąd, najprawdopodobniej masz gdzieś w swojej bazie kodów, gdzie deklarujesz wiele właściwości tego samego obiektu. Wyłączenie dzwonka alarmowego naprawia symptom.

Ten komunikat o błędzie został wyświetlony, jeśli zadeklaruję zduplikowane właściwości w moim JSX, np. podczas wykonywania <MyComponent className="foo" onClick={onClick} className="foobar" /> lub przypadkowego duplikowania innej właściwości.

Znajdź i napraw rzeczywisty błąd zamiast po prostu tłumaczyć komunikat o błędzie. IE powinien poinformować Cię o tym, na której linii się dzieje i nie powinno być zbyt trudno spojrzeć na to, co tam jest, i dowiedzieć się, który komponent ma problem.

+1

Dzięki za to. Nie otrzymałem konkretnego numeru linii z IE, ponieważ używam przeglądarki browser.js, ale przejrzałem i znalazłem wiele właściwości id elementu. – monalisa717

+1

To jest lepsze z dwóch odpowiedzi. – boatcoder

+1

to jest poprawna odpowiedź zdecydowanie. –

Powiązane problemy