在js文件中,我使用import而不是require
import co from 'co';
并尝试直接由nodejs运行它,因为它说导入是'shipping features'并且支持没有任何运行时标志(https://nodejs.org/en/docs/es6/),但是我收到了一个错误
import co from 'co';
^^^^^^
SyntaxError: Unexpected token import
然后我试着用巴贝尔
npm install -g babel-core
npm install -g babel-cli
npm install babel-core //install to babel locally, is it necessary?
并运行
babel-node js.js
仍有同样的错误,意外的令牌导入?
我怎么能摆脱它?
13 回答
来自babel 6发行说明:
在我的设置中,我安装了es2015预设
或用纱线
并在我的.babelrc中启用了预设
在实现模块之前,您可以使用Babel“transpiler”来运行代码:
然后
如果您不想键入
--presets node6
,可以将其保存.babelrc文件:见https://www.npmjs.com/package/babel-preset-node6和https://babeljs.io/docs/usage/cli/
安装包:
babel-core
,babel-polyfill
,babel-preset-es2015
创建
.babelrc
,内容为:{ "presets": ["es2015"] }
不要在您的主条目文件中放置
import
语句,使用另一个文件,例如:app.js
并且您的主条目文件应该需要babel-core/register
和babel-polyfill
以使babel在其他任何地方之前分开工作 . 然后你可以要求app.js
whereimport
语句 .例:
index.js
app.js
它应该适用于
node index.js
.babel-preset-es2015
现已弃用,您可以使用'll get a warning if you try to use Laurence'解决方案 .要使用Babel 6.24.1,请使用
babel-preset-env
代替:然后将
env
添加到.babelrc
中的预设中:有关详细信息,请参阅the Babel docs .
可能是您正在运行未编译的文件 . 我们开始吧!
在您的工作目录中创建:
两个文件夹 . 一个用于预编译的es2015代码 . 另一个为babel 's output. We' ll分别命名为"src"和"lib" .
包含以下对象的package.json文件:
名为".babelrc"的文件,其中包含以下说明:
{"presets": ["latest"]}
最后,在src / index.js文件中编写测试代码 . 在你的情况下:
import co from 'co'.
通过您的控制台:
安装包裹:
npm install
使用-d(aka --out-dir)标志将源目录透明到输出目录,该标志已在package.json中指定:
npm run transpile-es2015
从输出目录运行代码!
node lib/index.js
如果你使用react-native的预设它接受导入
并将其放入.babelrc文件中
在您的项目根目录中
https://www.npmjs.com/package/babel-preset-react-native
目前的方法是使用:
npm install --save-dev babel-cli babel-preset-env
然后在
.babelrc
这个安装Babel支持最新版本的js(es2015及更高版本)查看babeljs
在运行js文件时,不要忘记将
babel-node
添加到package.json
中的脚本中,如下所示 .现在你可以
npm populate yourfile.js
在终端内 .如果您正在运行Windows并且运行错误内部或外部命令无法识别,请使用脚本的节点infront,如下所示
node node_modules/babel-cli/bin/babel-node.js
那么
npm run populate
在package.json文件中添加脚本 "start": "babel-node server.js"
并在root“.babelrc”中为babel创建文件
并在终端运行npm start
请参与以下步骤来解决此问题:
1)安装 CLI and env preset
2)创建 .babelrc 文件
3)在 package.json 中配置npm start
4)然后启动应用程序
@jovi你需要做的就是像这样添加.babelrc文件:
并使用npm将这些插件安装为devdependences .
然后再次尝试babel-node *** . js . 希望这可以帮到你 .
您必须使用 babel-preset-env 和 nodemon 进行热重新加载 .
然后使用以下内容创建.babelrc文件:
最后,在package.json中创建脚本:
或者只使用这个样板:
Boilerplate: node-es6
我已经做了以下事情来克服这个问题(ex.js脚本)
问题
解决方案
在您的应用中,您必须声明
require()
模块,而不是使用'import'关键字:然后,创建一个.babelrc文件:
然后,在你的gulpfile中,一定要声明你的
require()
模块: