Webpack、Object.assign和React Toolbox出现故障
Webpack, Object.assign and React-Toolbox trouble
所以这是我的webpack配置文件:
var path = require("path");
var webpack = require('webpack');
var BundleTracker = require('webpack-bundle-tracker');
var ExtractTextPlugin = require('extract-text-webpack-plugin');
var autoprefixer = require('autoprefixer');
module.exports = {
context: __dirname,
devtool: 'inline-source-map',
entry: [
'webpack-dev-server/client?http://localhost:3000',
'webpack/hot/only-dev-server',
'./static/js/index',
],
output: {
path: path.resolve('./static/bundles/'),
filename: "[name]-[hash].js",
publicPath: 'http://localhost:3000/static/bundles/',
},
resolve: {
modulesDirectories: ['../node_modules', 'bower_components'],
extensions: ['', '.scss', '.css', '.js', '.jsx', '.json']
},
module: {
loaders: [
{ test: /('.js|'.jsx)$/,
exclude: /node_modules/,
loaders: ['react-hot',
'babel?presets[]=es2015&presets[]=stage-0&presets[]=react,plugins[]=transform-object-assign'],
}, {
test: /('.scss | '.css)$/,
loaders: ExtractTextPlugin.extract('style',
'css?sourceMap&modules&importLoaders=1&localIdentName=[name]__[local]___[hash:base64:5]!postcss!sass')
}
],
},
postcss: [autoprefixer],
sassLoader: {
data: '@import "theme/_config.scss";',
includePaths: [path.resolve(__dirname, './static')]
},
plugins: [
new ExtractTextPlugin('react-toolbox.css', { allChunks: true }),
new webpack.optimize.OccurrenceOrderPlugin(),
new webpack.HotModuleReplacementPlugin(),
new webpack.NoErrorsPlugin(), // don't reload if errors are present
new BundleTracker({filename: './webpack-stats.json'}),
],
}
以下是我收到的错误信息:
ERROR in ./static/js/reducers/account.js
Module build failed: SyntaxError: /Users/Evita/Dev/ev_PrecisDigitalTools/react_boiler/static/js/reducers/account.js: Unexpected token (9:14)
7 | case 'GET':
8 | return {
> 9 | Object.assign({}, state, {
| ^
10 | accountId: action.value
11 | })
12 | }
at Parser.pp.raise (/Users/Evita/Dev/ev_PrecisDigitalTools/node_modules/babylon/lib/parser/location.js:22:13)
at Parser.pp.unexpected (/Users/Evita/Dev/ev_PrecisDigitalTools/node_modules/babylon/lib/parser/util.js:89:8)
at Parser.pp.expect (/Users/Evita/Dev/ev_PrecisDigitalTools/node_modules/babylon/lib/parser/util.js:83:33)
at Parser.pp.parseObj (/Users/Evita/Dev/ev_PrecisDigitalTools/node_modules/babylon/lib/parser/expression.js:739:12)
at Parser.pp.parseExprAtom (/Users/Evita/Dev/ev_PrecisDigitalTools/node_modules/babylon/lib/parser/expression.js:491:19)
at Parser.parseExprAtom (/Users/Evita/Dev/ev_PrecisDigitalTools/node_modules/babylon/lib/plugins/jsx/index.js:18:22)
at Parser.pp.parseExprSubscripts (/Users/Evita/Dev/ev_PrecisDigitalTools/node_modules/babylon/lib/parser/expression.js:277:19)
at Parser.pp.parseMaybeUnary (/Users/Evita/Dev/ev_PrecisDigitalTools/node_modules/babylon/lib/parser/expression.js:257:19)
at Parser.pp.parseExprOps (/Users/Evita/Dev/ev_PrecisDigitalTools/node_modules/babylon/lib/parser/expression.js:188:19)
at Parser.pp.parseMaybeConditional (/Users/Evita/Dev/ev_PrecisDigitalTools/node_modules/babylon/lib/parser/expression.js:165:19)
@ ./static/js/reducers/index.js 15:15-35
ERROR in ../~/react-toolbox/lib/input/theme.scss
Module parse failed: /Users/Evita/Dev/ev_PrecisDigitalTools/node_modules/react-toolbox/lib/input/theme.scss Unexpected character '@' (1:0)
You may need an appropriate loader to handle this file type.
SyntaxError: Unexpected character '@' (1:0)
at Parser.pp$4.raise (/Users/Evita/Dev/ev_PrecisDigitalTools/node_modules/acorn/dist/acorn.js:2221:15)
at Parser.pp$7.getTokenFromCode (/Users/Evita/Dev/ev_PrecisDigitalTools/node_modules/acorn/dist/acorn.js:2756:10)
at Parser.pp$7.readToken (/Users/Evita/Dev/ev_PrecisDigitalTools/node_modules/acorn/dist/acorn.js:2477:17)
at Parser.pp$7.nextToken (/Users/Evita/Dev/ev_PrecisDigitalTools/node_modules/acorn/dist/acorn.js:2468:15)
at Parser.parse (/Users/Evita/Dev/ev_PrecisDigitalTools/node_modules/acorn/dist/acorn.js:515:10)
at Object.parse (/Users/Evita/Dev/ev_PrecisDigitalTools/node_modules/acorn/dist/acorn.js:3098:39)
at Parser.parse (/Users/Evita/Dev/ev_PrecisDigitalTools/node_modules/webpack/lib/Parser.js:902:15)
at DependenciesBlock.<anonymous> (/Users/Evita/Dev/ev_PrecisDigitalTools/node_modules/webpack/lib/NormalModule.js:104:16)
at DependenciesBlock.onModuleBuild (/Users/Evita/Dev/ev_PrecisDigitalTools/node_modules/webpack-core/lib/NormalModuleMixin.js:310:10)
at nextLoader (/Users/Evita/Dev/ev_PrecisDigitalTools/node_modules/webpack-core/lib/NormalModuleMixin.js:275:25)
@ ../~/react-toolbox/lib/input/index.js 18:13-36
现在,我知道Object.assign无法开箱即用,所以正如你所看到的,我已经尝试添加插件"babel transform Object assign"(如前所述:https://github.com/react-toolbox/react-toolbox/issues/45),我试过从core js中要求它(https://github.com/zloirock/core-js#commonjs),和babel核心,以及作为"运行时"选项等。简单地说,不可以。邮政编码显然造成了问题,但我已经降级了。
我还没有真正开始尝试解决sass加载程序的问题,我认为我应该在解决Object.assign问题后再开始解决这个问题,尽管我从过去的5个小时开始就一直在做这个问题,但我确实一无所获。所以我添加了两条错误消息,希望有人能给我指明正确的方向。
我怀疑我混淆了旧语法和新语法等,但我真的搞不清这个。。。帮助
你不能这样做:
return {
Object.assign({}, state, {
accountId: action.value
})
}
我认为这将是正确的:
return Object.assign({}, state, {
accountId: action.value
})
相关文章:
- javascript.点击隐藏事件故障
- JS条件故障排除
- 尝试初始化()Spine's控制器和故障
- 物体故障
- 间歇性浏览捆绑包故障(可能是brfs)
- CORS故障无法解决jquery,laravel5.2
- Django无法通过urls.py配置找到djangular/app.js文件.如何进行故障排除
- 将时间转换为UTC时出现故障
- Jquery&有故障的功能
- 对 Drupal 站点的客户端 JS 问题进行故障排除
- 如果在线检查期间发生电源故障,我们如何更新用户再次登录门户时的剩余时间
- Raphael悬停事件和调整大小框在第三次鼠标悬停后发生故障
- ES6-Promises在使用Node MySQL时出现故障
- 计算故障-Javascript形式
- Ajax对复杂字符串进行故障切换
- iMacros机架名称故障排除
- Meteoric(Meteor Ionic)软件包实现故障——Ionic样式未显示
- 验证启动但不启动't显示故障信息.我错过了什么?MVC 5 Razor
- JScalc.io计算器基本故障(输出变量为空,不返回数字)
- Webpack、Object.assign和React Toolbox出现故障