在使用create-react-app
创建的新应用中,如何运行命令行脚本?以下失败:
$ npx create-react-app foo
[snip]
$ cd foo/
$ echo "import {App} from './src/App.js';" > test.js
$ node test.js
/private/tmp/foo/test.js:1
import {App} from './src/App.js';
^
SyntaxError: Unexpected token {
at Module._compile (internal/modules/cjs/loader.js:718:23)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:785:10)
at Module.load (internal/modules/cjs/loader.js:641:32)
at Function.Module._load (internal/modules/cjs/loader.js:556:12)
at Function.Module.runMain (internal/modules/cjs/loader.js:837:10)
at internal/main/run_main_module.js:17:11
我尝试同时运行babel-node
和node --harmony
。无论是更改脚本还是更改我的运行方式,我都只需要某种方法即可成功运行脚本。
答案 0 :(得分:0)
在脚本的开头添加以下内容解决了我的问题:
process.env.BABEL_ENV = 'development';
process.env.NODE_ENV = 'development';
require('@babel/register')({
presets: [
'@babel/preset-env',
'babel-preset-react-app'
]
});
答案 1 :(得分:0)
作为在文件中添加require和options的一种替代方法,您还可以在root用户中创建一个.babelrc文件来保存选项,并在cli中使用-r作为require标志,-r @ babel / register as如果您不想在文件中添加require语句,则使用另一种方法。只是一种选择。 根目录中的.babelrc文件:
console.log('*'.repeat(10)); // **********
然后在cli
{
"presets": [
[
"@babel/preset-env",
{
"targets": {
"node": "current"
}
}
]
]
}
有关设置的更多详细信息,请参见:https://stackoverflow.com/a/55309534/4263440 要么 https://stackoverflow.com/a/55428342/4263440