【发布时间】: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