【问题标题】:babel-node fails when babel cli works correctly当 babel cli 正常工作时,babel-node 失败
【发布时间】:2020-06-25 02:54:52
【问题描述】:

编辑:解决方案是从 package.json 中删除 type=module

我正在尝试使用 babel-node,但它无法从 .babelrc 获取预设。奇怪的是babel cli 运行良好。

这行得通:

$ npx babel src/build-html.js

这失败了:

$ npx babel-node src/build-html.js
SyntaxError: Unexpected token '<'

这也有效:

$ npx babel src/build-html.js | node

.babelrc.yml

{
  "presets": ["@babel/preset-env", "@babel/preset-react"]
}

package.json

{
  "type": "module",
  "scripts": {
    "build:html": "babel-node src/build-html.js",
  },
  "dependencies": {
    "react": "^16.13.1",
    "react-dom": "^16.13.1"
  },
  "devDependencies": {
    "@babel/cli": "^7.10.3",
    "@babel/core": "^7.10.3",
    "@babel/node": "^7.10.3",
    "@babel/preset-env": "^7.10.3",
    "@babel/preset-react": "^7.10.1"
  }
}

src/build-html.js

import React from 'react'
import ReactDOMServer from 'react-dom/server'

const HelloWorld = () => <div>Hello World</div>

const output = ReactDOMServer.renderToStaticMarkup(<HelloWorld />)

console.log(output)

我在https://github.com/joelnet/mojo-gallery 提交了一个代码库来帮助调试

查看此问题的 stack-overflow 标签

【问题讨论】:

    标签: javascript node.js babeljs babel-node


    【解决方案1】:

    尝试重命名 .babelrc.yml => mv .babelrc.yml babel.config.json 然后再次运行 npx babel-node src/build-html.js

    【讨论】:

    • 我仍然遇到同样的错误。我在https://github.com/joelnet/mojo-gallery 上放了一个仓库来帮助调试。签出此问题的stack-overflow 标签。
    • 解决方案是从package.json中删除type=module
    猜你喜欢
    • 2016-08-23
    • 2021-01-25
    • 1970-01-01
    • 2016-04-01
    • 2016-05-16
    • 2021-06-17
    • 2016-11-08
    • 2018-06-27
    • 2023-04-05
    相关资源
    最近更新 更多