操作系统:Windows 10 Pro
NPM版本:3.8.6
因此,当我运行npm start
时,应用运行正常。但是当我运行npm run build
时,我收到以下错误消息:
λ npm run build
> learn-redux@1.0.0 build C:\Users\*****\Documents\Projects\learn-redux
> npm run clean && npm run build:webpack
> learn-redux@1.0.0 clean C:\Users\*****\Documents\Projects\learn-redux
> rimraf dist
> learn-redux@1.0.0 build:webpack C:\Users\*****\Documents\Projects\learn-redux
> set NODE_ENV=production && webpack --config webpack.config.prod.js
Hash: e7a3bc9c356b59e5b8fb
Version: webpack 1.14.0
Time: 30691ms
Asset Size Chunks Chunk Names
bundle.js 710 kB 0 [emitted] main
bundle.js.map 5.51 MB 0 [emitted] main
[0] multi main 28 bytes {0} [built]
+ 583 hidden modules
ERROR in ./client/reducers/comments.js
Module build failed: SyntaxError: C:/Users/*****/Documents/Projects/learn-redux/client/reducers/comments.js: Unexpected token (30:6)
28 | return {
29 | // Current state
> 30 | ...state
| ^
31 | };
我的代码如下:
function comments(state = {}, action) {
if (typeof action.postId !== 'undefined') {
return {
// Current state
...state
};
}
return state;
}
我的webpack配置如下:
var path = require('path');
var webpack = require('webpack');
module.exports = {
devtool: 'source-map',
entry: [
'./client/reduxstagram'
],
output: {
path: path.join(__dirname, 'dist'),
filename: 'bundle.js',
publicPath: '/static/'
},
plugins: [
new webpack.optimize.OccurenceOrderPlugin(),
new webpack.DefinePlugin({
'process.env': {
'NODE_ENV': "'production'"
}
}),
new webpack.optimize.UglifyJsPlugin({
compressor: {
warnings: false
}
})
],
module: {
loaders: [
// js
{
test: /\.js$/,
loaders: ['babel'],
include: path.join(__dirname, 'client')
},
// CSS
{
test: /\.styl$/,
include: path.join(__dirname, 'client'),
loader: 'style-loader!css-loader!stylus-loader'
}
]
}
};
我的.babelrc文件如下:
{
"env": {
"production": {
"plugins": [
"transform-object-rest-spread"
]
}
}
}
我该如何解决这个问题?