簡體   English   中英

如何在節點CLI程序中使用babel?

[英]How do I use babel in a node CLI program?

我正在node中編寫一個小型CLI工具,並希望使用ES6。

index.js看起來像:

#!/usr/bin/env node

require('babel/register');
module.exports = require('./app');

我可以輕松地使用

$ node index.js --foo some --bar thing

在我的package.json我聲明了以下內容:

  "bin": {
    "my-tool": "./index.js"
  }

安裝和執行此命令時,babel似乎無法正常工作,因為我得到了:

/usr/lib/node_modules/my-tool/app.es6:1
(function (exports, require, module, __filename, __dirname) { import yargs fro
                                                          ^^^^^^
SyntaxError: Unexpected reserved word

我在這里想念什么?

require鈎不僅用於生產,還用於本地開發。 理想情況下,您應該在分發軟件包之前進行預編譯。 您正在遇到https://github.com/babel/babel/issues/1889

您需要明確告訴寄存器掛鈎不要忽略您的應用程序。

require('babel/register')({
  ignore: /node_modules\/(?!my-tool)/
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM