我在服务器上渲染我的react/redux应用程序时遇到很多麻烦。首先,我需要所有必要的 babel 库,以便 Node 服务器在读取 jsx 文件时可以识别语法,但我仍然遇到语法错误。我得到的错误是 > 8 |返回 { ...状态,检查:true };意外的 token 指向...
服务器.js
require('babel-register')({ presets: ['es2015', 'react'] });
require('import-export');
require('babel-polyfill');
const reducers = require('../src/reducers').default; //written with es6 import statements and export default
reducer
export default function(state = INITIAL, action) {
switch(action.type) {
case "CHECK":
return { ...state, check: true }; //error reading this line
default:
return state;
}
}
最佳答案
{...obj}
语法是 babel 下名为 object-rest-spread
的 ES7 功能,因此 2015/react 预设不包含它。你必须将它添加到你的 babel 配置中,例如 "plugins": ["transform-object-rest-spread"]
关于node.js - 即使加载了 babel 库,我的 Node 服务器也无法识别 es6 语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42334042/