2016-03-13 116 views
2

我有一個webpack-dev-server運行,編譯並提供一些Babel/React代碼。我已經得到了儘可能多的client.js而不是localhost:3001Webpack/Babel/React - 「Uncaught SyntaxError:意外的令牌:」

但是當我嘗試,包括在我的HTML腳本,我得到以下錯誤在Chrome的開發者控制檯:

routerWarning.js:19 Uncaught SyntaxError: Unexpected token : 

該行屬於反應,路由器,包含下面的代碼:

process.env.NODE_ENV !== 'production' ? _warning2['default'].apply(undefined, [falseToWarn, message].concat(args)) : undefined; 

首先,我沒看到那行代碼會導致語法錯誤。其次,我不明白它是如何進來的,因爲這看起來像是一段編譯(babelified)的代碼給我。最後,我不知道如何解決它! :(

任何幫助,將不勝感激

+0

該代碼行看起來對我有效。沒有足夠的信息來幫助正確。 –

+0

睡了一覺後,我明白了!不管怎麼說,還是要謝謝你。 – Koen

+0

很酷。你可能應該接受答案。 :) –

回答

5

我用的WebPack的DefinePlugin設置process.env.BABEL_ENV這樣的:

new DefinePlugin({ 
    'process.env': { 
    BABEL_ENV: JSON.stringify('client') 
    } 
}); 

這導致的WebPack與{"BABEL_ENV":"client"}更換的process.env所有實例代碼。 SyntaxError是在這部分引起的,而不是在三元表達式中。

我通過設置process.env.BABEL_ENV這樣來修復它:

new DefinePlugin({ 
    'process.env.BABEL_ENV': JSON.stringify('client') 
}); 
相關問題