Я работаю над проектом Django, используя Django Pipline для обработки файлов CSS и JavaScript при развертывании статических файлов приложения. Я хотел бы использовать Babel для компиляции источника JSX в JavaScript в этом процессе. Для этого мне нужно будет написать плагин конвейера, который вызывает babel
и передает его JSX-файл.Предполагаемый способ запуска команд, установленных как зависимости
Чтобы установить Бабель и его зависимость, я создал минимальный package.json
:
{
"name": "my-project",
"version": "1.0.0",
"description": "",
"dependencies": [
"[email protected]",
"[email protected]"
]
}
Когда я бег npm install
он будет устанавливать все необходимые зависимости в node_modules
.
Все это прекрасно работает, но есть одна часть, которая ускользает от меня. Я не нашел простой способ запустить двоичный файл babel
. npm
устанавливает эти бинарники под node_modules/.bin
, который также возвращаемые npm bin
:
$ find node_modules -name babel
node_modules/.bin/babel
node_modules/babel-cli/lib/babel
$ npm bin
[...]/node_modules/.bin
Что такое предполагаемый способ затем, например, запустить двоичный файл babel
?
Должен ли я помещать эту директорию на мой $PATH
? Есть ли сценарий, похожий на сценарий activate
от virtualenv? Должен ли я жестко закодировать путь в моем проекте?
Я уверен, что авторы npm подумали об этом случае использования. В противном случае такие проекты, как Babel, будут жить в серой зоне предполагаемого использования npm.