jov*_*ovi 192 javascript node.js ecmascript-6 package.json babeljs
在js文件中,我使用import而不是require
import co from 'co';
Run Code Online (Sandbox Code Playgroud)
并尝试直接由nodejs运行它,因为它说导入是'运输功能'并支持没有任何运行时标志(https://nodejs.org/en/docs/es6/),但我收到一个错误
import co from 'co';
^^^^^^
SyntaxError: Unexpected token import
Run Code Online (Sandbox Code Playgroud)
然后我试着用巴贝尔
npm install -g babel-core
npm install -g babel-cli
npm install babel-core //install to babel locally, is it necessary?
Run Code Online (Sandbox Code Playgroud)
并运行
babel-node js.js
Run Code Online (Sandbox Code Playgroud)
仍有同样的错误,意外的令牌导入?
我怎么能摆脱它?
小智 200
来自babel 6发行说明:
由于Babel专注于成为JavaScript工具的平台,而不是ES2015转换器,我们决定让所有插件选择加入.这意味着当您安装Babel时,它将不再默认转换您的ES2015代码.
在我的设置中,我安装了es2015预设
npm install --save-dev babel-preset-es2015
Run Code Online (Sandbox Code Playgroud)
或用纱线
yarn add babel-preset-es2015 --dev
Run Code Online (Sandbox Code Playgroud)
并在我的.babelrc中启用了预设
{
"presets": ["es2015"]
}
Run Code Online (Sandbox Code Playgroud)
vin*_*hew 51
在实现模块之前,您可以使用Babel"transpiler"来运行代码:
npm install --save babel-cli babel-preset-node6
Run Code Online (Sandbox Code Playgroud)
然后
./node_modules/babel-cli/bin/babel-node.js --presets node6 ./your_script.js
Run Code Online (Sandbox Code Playgroud)
如果您不想键入--presets node6
,可以保存.babelrc文件:
{
"presets": [
"node6"
]
}
Run Code Online (Sandbox Code Playgroud)
请参阅https://www.npmjs.com/package/babel-preset-node6和https://babeljs.io/docs/usage/cli/
Adi*_*ono 26
babel-core
,babel-polyfill
,babel-preset-es2015
.babelrc
内容:{ "presets": ["es2015"] }
import
在主条目文件中放置语句,使用另一个文件,例如:app.js
并且您的主条目文件应该是必需的,babel-core/register
并且babel-polyfill
让babel在第一个地方之前单独工作.然后你可以要求app.js
where import
语句.例:
index.js
require('babel-core/register');
require('babel-polyfill');
require('./app');
Run Code Online (Sandbox Code Playgroud)
app.js
import co from 'co';
Run Code Online (Sandbox Code Playgroud)
它应该适用node index.js
.
kri*_*ina 14
babel-preset-es2015
现已弃用,如果您尝试使用Laurence的解决方案,则会收到警告.
要使用Babel 6.24.1+,请使用babel-preset-env
:
npm install babel-preset-env --save-dev
Run Code Online (Sandbox Code Playgroud)
然后添加env
到您的预设中.babelrc
:
{
"presets": ["env"]
}
Run Code Online (Sandbox Code Playgroud)
有关详细信息,请参阅Babel文档.
小智 6
如果你使用react-native的预设它接受导入
npm i babel-preset-react-native --save-dev
Run Code Online (Sandbox Code Playgroud)
并将其放入.babelrc文件中
{
"presets": ["react-native"]
}
Run Code Online (Sandbox Code Playgroud)
在您的项目根目录中
https://www.npmjs.com/package/babel-preset-react-native
小智 5
可能是您正在运行未编译的文件.我们开始吧!
在您的工作目录中创建:
包含以下对象的package.json文件:
{
"scripts": {
"transpile-es2015": "babel src -d lib"
},
"devDependencies": {
"babel-cli": "^6.18.0",
"babel-preset-latest": "^6.16.0"
}
}
Run Code Online (Sandbox Code Playgroud)名为".babelrc"的文件,其中包含以下说明:
{"presets": ["latest"]}
最后,在src/index.js文件中编写测试代码.在你的情况下:
import co from 'co'.
通过您的控制台:
npm install
npm run transpile-es2015
node lib/index.js
目前的方法是使用:
npm install --save-dev babel-cli babel-preset-env
然后进去 .babelrc
{
"presets": ["env"]
}
Run Code Online (Sandbox Code Playgroud)
这个安装Babel支持最新版本的js(es2015及更高版本)查看babeljs
在运行js文件时,不要忘记添加babel-node
到package.json
使用中的脚本,如下所示.
"scripts": {
"test": "mocha",
//Add this line to your scripts
"populate": "node_modules/babel-cli/bin/babel-node.js"
},
Run Code Online (Sandbox Code Playgroud)
现在你可以npm populate yourfile.js
在终端内.
如果您正在运行Windows并且运行错误内部或外部命令无法识别,请使用脚本的节点infront,如下所示
node node_modules/babel-cli/bin/babel-node.js
然后 npm run populate
归档时间: |
|
查看次数: |
267290 次 |
最近记录: |