【问题标题】:Syntax error / transformation error while using ES6 / tags in Express project在 Express 项目中使用 ES6/标签时出现语法错误/转换错误
【发布时间】:2018-11-16 11:59:38
【问题描述】:

我正在尝试在我的节点 js 项目的 routes/index.js 中使用一些命名导入和 JSX 组件,但出现以下错误:

  1. import { StaticRouter } from 'react-router';

    错误:

    转换错误;返回原始代码{错误:第xx行:意外令牌{

  2. 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.jsroutes/index.js 一样吗?从babel-register 的文档中,似乎添加了require 即时转换未来requires(因此./index.js 中的任何ES6/JSX 语法都不会在您的情况下转换)。
  • 不,它们不一样。 Babel require 似乎不起作用。但是在启动应用程序时,我无论如何都不能在生产中使用 babel-node。

标签: javascript node.js reactjs express ecmascript-6


【解决方案1】:

添加"babel-plugin-import"。仍然在 node.js 中,我们没有导入支持。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-01
    • 1970-01-01
    • 2016-10-30
    • 2019-02-23
    • 2016-11-04
    • 1970-01-01
    相关资源
    最近更新 更多