编辑:解决方案是从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
标签
答案 0 :(得分:0)
尝试重命名.babelrc.yml => mv .babelrc.yml babel.config.json
,然后再次运行npx babel-node src/build-html.js