【发布时间】:2018-11-16 11:59:38
【问题描述】:
我正在尝试在我的节点 js 项目的 routes/index.js 中使用一些命名导入和 JSX 组件,但出现以下错误:
-
import { StaticRouter } from 'react-router';错误:
转换错误;返回原始代码{错误:第xx行:意外令牌
{ -
const server = (<StaticRouter location...);错误:
转换错误;返回原始代码{错误:第xx行:意外令牌
<
其他细节:
- 节点 v8.11.*
- 快递
-
.babelrc
{ "presets": [ "react", "es2015", "stage-3" ] } -
./index.js 有
require('babel-register')({ presets: ['react', 'es2015'] }); -
node .启动应用程序时,出现这些错误。
我对客户端代码没有任何问题,它们被完美地转译了。以上需要帮助。
【问题讨论】:
-
import { StaticRouter } from 'react-router';=>import { StaticRouter } from "react-router-dom";我想这将解决第一个错误。 -
你的构建命令是什么样的? (即你是如何编译你的服务器端 JS 的?)
-
嗨ХристиянХристов,没用。嗨,艾伦,在底部添加了信息。
-
./index.js和routes/index.js一样吗?从babel-register 的文档中,似乎添加了require即时转换未来requires(因此./index.js中的任何ES6/JSX 语法都不会在您的情况下转换)。 -
不,它们不一样。 Babel require 似乎不起作用。但是在启动应用程序时,我无论如何都不能在生产中使用 babel-node。
标签: javascript node.js reactjs express ecmascript-6