编辑:解决方案是从 type=module 中删除package.json
我正在尝试使用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"]
}
包.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
此问题的标签