【发布时间】:2015-10-31 12:50:23
【问题描述】:
我正在尝试使用 Babel 在节点上编写一些 CLI 程序。我见过How do I use babel in a node CLI program? 的问题,loganfsmyth 说:
理想情况下,您应该在分发包之前进行预编译。
好的,现在我正在使用:
"scripts": {
"transpile": "babel cli.js --out-file cli.es5.js",
"prepublish": "npm run transpile",
}
但是,当 Babel 在 #!/usr/bin/env node 标头后面添加 'use strict'; 行时,我遇到了问题。例如,如果我有cli.js:
#!/usr/bin/env node
import pkg from './package'
console.log(pkg.version);
我会得到这个:
#!/usr/bin/env node'use strict';
var _package = require('./package');
… … …
这行不通。当我尝试运行它时,我总是得到:
/usr/bin/env: node'use strict';: This file or directory does'nt exist
我该如何解决这个问题?
【问题讨论】:
-
你真的需要 Babel吗? Node 支持 V8 中包含的任何 ES6 特性:nodejs.org/en/docs/es6
-
这个程序应该在节点上运行>=0.10,所以我需要。
标签: javascript node.js ecmascript-6 babeljs