从 npm 脚本运行 babel-cli 不起作用

2024-01-02

我按照指示进行操作here https://babeljs.io/docs/setup/#babel_cli安装babel-cli。我添加了"build": "babel src -d lib"到我想要运行它的目录中的 package.json 。但是,在运行时,我收到此错误:

????  npm run build

> [email protected] /cdn-cgi/l/email-protection build /Users/richard/src/ipfs-readme-standard
> babel src -d lib

src doesn't exist

npm ERR! Darwin 14.5.0
npm ERR! argv "/Users/richard/.nvm/versions/node/v5.0.0/bin/node" "/Users/richard/.nvm/versions/node/v5.0.0/bin/npm" "run" "build"
npm ERR! node v5.0.0
npm ERR! npm  v3.5.2
npm ERR! code ELIFECYCLE
npm ERR! [email protected] /cdn-cgi/l/email-protection build: `babel src -d lib`
npm ERR! Exit status 2
npm ERR! 
npm ERR! Failed at the [email protected] /cdn-cgi/l/email-protection build script 'babel src -d lib'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the ipfs-readme-standard package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     babel src -d lib
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs ipfs-readme-standard
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls ipfs-readme-standard
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /Users/richard/src/ipfs-readme-standard/npm-debug.log

我不知所措。不是应该生成src吗? babeljs.io 上没有我遗漏的额外步骤。


不是应该生成src吗?

这是包含您要转译的脚本的文件夹。如果它不存在,那么 babel 将抛出您发布的错误。

另外,请注意您链接到的页面底部的内容:

在 6.x 之前,Babel 默认启用某些转换。然而,Babel 6.x 并未启用任何转换。您需要明确告诉它要运行哪些转换。最简单的方法是使用预设,例如 ES2015 预设。

这意味着即使您创建了src目录并在其中放置一个包含 ES6 代码的文件,Babel 会愉快地运行,但输出将(几乎)与输入相同。


这是如何启动和运行 babel-cli 的快速示例。

创建一个项目,然后安装 babel-cli 包和 ES2015 预设:

mkdir babeltest && cd babeltest
touch package.json
npm install babel-cli babel-preset-es2015 --save-dev

下一步编辑package.json:

{
  "name": "my-project",
  "version": "1.0.0",
  "scripts": {
    "build": "babel src -d lib"
  },
  "scripts": {
    "build": "babel --presets es2015 src -d lib"
  },
  "devDependencies": {
    "babel-cli": "^6.0.0"
  }
}

请注意,npm 脚本中的命令与巴贝尔主页 https://babeljs.io/docs/setup/#babel_cli,就我们告诉它使用已安装的预设而言。

接下来在 src 目录中创建一个文件:

mkdir src && cd src
touch main.js

在main.js中添加:

[1,2,3].map(x => x * x)

然后通过 npm 运行 babel:

npm run build

并检查 lib/main.js 中的输出

"use strict";

[1, 2, 3].map(function (x) {
  return x * x;
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 npm 脚本运行 babel-cli 不起作用 的相关文章

随机推荐