我知道babel-node
默认会忽略node_modules
,所以我用三种不同的方式来覆盖它,都失败了:
使用babel-node app.js
.babelrc
{
"presets": ["es2015", "react"],
"only": [
"app",
"node_modules/react-components"
]
}
结果:SyntaxError: Unexpected token <
表示所需的jsx节点模块
使用babel-node app.js
.babelrc
{
"presets": ["es2015", "react"],
"ignore": "node_modules\/(?!react-components)"
}
结果:SyntaxError: Unexpected token <
表示需要jsx节点模块
使用babel-node ./bin/www --ignore '/node_modules/(?!react-components)
.babelrc
{
"presets": ["es2015", "react"]
}
结果:
[project]/node_modules/babel-preset-react/node_modules/babel-plugin-transform-react-jsx/lib/index.js:12
var visitor = require("babel-helper-builder-react-jsx")({
^
TypeError: object is not a function
使用带有ignore选项的register hook正常工作。
在node app.js
app.js
require('babel-core/register')({
ignore: /node_modules\/(?!react-components)/
});
即使这样可行,我仍然想知道为什么babel-node
的实现不起作用。感谢。
的引用: