我按照Babel '入门'页面的说明安装了babel-cli工具.
从我的项目文件夹中的终端:
npm install --save-dev babel-cli
Run Code Online (Sandbox Code Playgroud)
在此之后,有一个带有babel-cli文件夹的node_modules目录,但是没有创建package.json.npm还显示以下错误:
npm WARN enoent ENOENT: no such file or directory, open '/Users/MyName/Sites/Tutorials/Babel2/package.json
Run Code Online (Sandbox Code Playgroud)
当试图运行babel时,我明白了:
babel src -d lib
-bash: babel: command not found
Run Code Online (Sandbox Code Playgroud)
我安装了最新版本的nodejs/npm.我运行了npm update -g,我编辑了我的.bash_profile文件,包括:
export PATH=$PATH:/Users/MyName/npm/bin
export PATH=/usr/local/share/npm/bin:$PATH
Run Code Online (Sandbox Code Playgroud)
我没有使用浏览器等其他npm工具.为什么巴贝尔不被认可?
joe*_*ler 83
这里有两个问题.首先,您需要一个package.json
文件.告诉npm安装没有一个会抛出npm WARN enoent ENOENT: no such file or directory
错误.在项目目录中,运行npm init
以生成package.json
项目的文件.
其次,可能找不到本地二进制文件,因为本地文件./node_modules/.bin
不在$PATH
.在如何使用node_modules中本地安装的软件包中有一些解决方案?,但是在npm脚本中包装babel-cli命令可能更容易.这是有效的,因为npm run
将npm bin
(node_modules/.bin
)的输出添加到PATH
提供给脚本.
这是一个精简的示例package.json
,它返回本地安装的babel-cli版本:
{
"scripts": {
"babel-version": "babel --version"
},
"devDependencies": {
"babel-cli": "^6.6.5"
}
}
Run Code Online (Sandbox Code Playgroud)
使用以下命令调用脚本:npm run babel-version
.
将脚本放在package.json中是非常有用的,但经常被忽略.在文档中还有更多:npm如何处理"脚本"字段
Mar*_*oma 26
当我发现这个问题时,我一直在寻找
$ npm install -g babel-cli
Run Code Online (Sandbox Code Playgroud)
Ala*_*kat 11
这是常见问题,它.cmd
从您安装的根目录中查找文件babel-cli
.尝试以下命令.
./node_modules/.bin/babel.cmd
一旦您能够在命令提示符中看到您的源代码.下一步是再安装一个npm模块babel-preset-es2015
.
按照下面的答案安装babel-preset-es2015
,看看为什么巴贝尔需要这个.
要安装 Babel 7+ 版本,请运行:
npm install -g @babel/cli
npm install -g @babel/core
Run Code Online (Sandbox Code Playgroud)
这就是我自动添加本地项目node_modules/.bin
路径所做的工作PATH
.在~/.profile
我补充说:
if [ -d "$PWD/node_modules/.bin" ]; then
PATH="$PWD/node_modules/.bin"
fi
Run Code Online (Sandbox Code Playgroud)
然后重新加载您的bash配置文件: source ~/.profile
babel
全局安装解决了这个问题:
npm install -g @babel/core @babel/cli
Run Code Online (Sandbox Code Playgroud)
但是,不鼓励全局安装依赖项,因为它们不会在每个项目的基础上管理其版本。
您应该按照babel
的文档中的建议在本地安装您的依赖项:
npm install --save-dev @babel/core @babel/cli
Run Code Online (Sandbox Code Playgroud)
不利的一面是,这无法让您快速/方便地以交互方式调用本地二进制文件(在本例中babel
)。npx
给你一个很好的解决方案:
npx babel --version
Run Code Online (Sandbox Code Playgroud)
这将运行本地安装的babel
. 此外,如果你想避免输入npx
,你可以配置shell 自动回退,然后运行:
babel --version
Run Code Online (Sandbox Code Playgroud)
注意:.babelrc
在项目的根目录下创建一个文件很重要,您可以在其中指定 babel 配置。作为起点,您可以使用env-preset
转译到 ES2015+:
npm install @babel/preset-env --save-dev
Run Code Online (Sandbox Code Playgroud)
为了启用预设,您必须在 .babelrc 文件中定义它,如下所示:
{
"presets": ["@babel/preset-env"]
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
75660 次 |
最近记录: |