Как глобально установить инструмент node-cli с поддержкой импорта es6? - PullRequest
1 голос
/ 08 июля 2019

Я создаю простой инструмент для создания проектов и использую импорт es6 в своем основном файле index.js.У меня установлен babel-node с .babelrc в корне моего проекта.

Чтобы установить инструмент глобально, у меня это есть в моем package.json:

"bin": {
  "generate": "./node_modules/.bin/babel-node ./index.js"
},

Когда язапустить npm link или npm install -g в корне моего проекта, я получаю сообщение об ошибке:

ENOENT: no such file or directory, chmod '/usr/local/lib/node_modules/node-project-generator/node_modules/.bin/babel-node ./index.js'

Я также попытался:

"bin": {
  "generate": "babel-node ./index.js"
},

и

"bin": {
  "generate": "npx babel-node ./index.js"
},

Этот инструмент работает нормально в контексте моего проекта.Так как же добавить поддержку es6 для его глобальной установки?

1 Ответ

0 голосов
/ 23 июля 2019

Вы добавили babel-node в качестве зависимости к вашему пакету?

В любом случае, более правильный способ сделать это - заранее скомпилировать вашу программу с babel в некоторый каталог dist, чтобы он могзапускаться без дополнительного препроцессора.

"bin": {
  "generate": "./dist/index.js"
}

Менее проблематично и быстрее выполняется команда.

...