2016-07-27 3 views
0

Я работаю над проектом 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.

ответ

1

Если вы используете скрипты npm, бинарные файлы в node_modules/.bin будут добавлены к вашему PATH. Таким образом, вы можете создать, скажем, "build" скрипт так:

{ 
    "name": "my-project", 
    "version": "1.0.0", 
    "description": "", 
    "dependencies": [ 
     "[email protected]", 
     "[email protected]" 
    ], 
    "scripts": { 
     "build": "babel script.js" 
    } 
} 

, а затем сделать npm run build для выполнения сценария.

 Смежные вопросы

  • Нет связанных вопросов^_^