2016-07-27 44 views
0

我正在使用Django Pipline來處理部署應用程序的靜態文件時處理CSS和JavaScript文件的Django項目。我想使用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上嗎?是否有類似於virtualenvactivate腳本的腳本?我應該在我的項目中硬編碼路徑嗎?

我確信npm的作者已經想到了這個用例。否則,像巴貝爾這樣的項目會生活在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執行腳本。