我有以下代碼(ES6傳播屬性):您可能需要適當的加載程序來處理此類文件的錯誤
return {...state, name: action.payload};
拋出的錯誤是:您可能需要適當的加載程序來處理這個文件類型。
的package.json
還有什麼我需要爲了使這項工作進行安裝。所有其他ES6正在工作,但傳播屬性不是。
webpack.config.js
我有以下代碼(ES6傳播屬性):您可能需要適當的加載程序來處理此類文件的錯誤
return {...state, name: action.payload};
拋出的錯誤是:您可能需要適當的加載程序來處理這個文件類型。
的package.json
還有什麼我需要爲了使這項工作進行安裝。所有其他ES6正在工作,但傳播屬性不是。
webpack.config.js
要使用ecmascript-6
你需要(1)添加.babelrc
文件與以下預置
{
"presets": [ "es2015" ]
}
es2015
是你所需要的特定的一個。
然後(2)配置您的WebPack包括
module.exports = {
...,
loaders : [
{ test: /\.js$/, exclude: /(node_modules)/, loader: 'babel-loader' }
]
}
_「要使用ecmascript-6擴展運算符,您需要...「當然,但在OP的示例中沒有ES6擴展語法 – zeroflagL
@zeroflagL感謝通知我無法找到正確的方式調用表達式並使用」spread「但是,我發現我的使用在技術上是不正確的。另外,我無法找到調用此特定功能的正確方法。你能幫我嗎? –
@zeroflagL我也想知道它的正確技術術語......它在這裏說這是一個傳播運算符:http://redux.js.org/docs/basics/Reducers.html#handling-actions –
你需要有配置通天裝載機的JS文件transpile
的WebPack配置片斷:
{
test: /\.js$/,
exclude: /node_modules/,
use: [
'babel-loader'
]
}
內部模塊規則。
而且在項目的home目錄通過NPM添加.babelrc
文件下面的內容
{
"presets" : [
"latest"
]
}
安裝裝載機是不夠的。你必須在你的webpack中配置這個裝載器。以上你webpack.config.js
loaders: [
{
test: /\.js$/,
exclude: /(node_modules|bower_components)/,
loader: 'babel-loader',
query: {
presets: ['es2015']
}
}
]
代碼
添加以下意味着,無論何時它會找到匹配\.js$
模式(文件是.js結尾)的任何文件,巴貝爾型裝載機將用過的。 (您已經安裝了通天裝載機到你的依賴
您還可以使用loader: 'babel'
,而不是`裝載機:「巴別塔裝載機」這是同樣的
你可以分享你的WebPack配置那裏,你會看到。?可能需要的加載器 –
所以package.json是不夠的......我的webpack.config.js中沒有任何加載器我現在將它們加入 –