2016-03-15 6 views
1

У меня есть файл Node.js в c:\scripts и вы хотите выполнить их в команде Windows из любого места на node my-file.js. Это своего рода требование для выполнения bat-файла, который я могу поместить в папку %PATH%. Я пытался включить c:\scripts в %NODE_PATH%, но он не работает.Выполнение одного файла Node.js в команде Windows из любого места

ответ

0

nodejs имеет понятие исполняемых файлов ... например, пакет

jslint 

после установки могут быть непосредственно выполнены из любого места ... его установлена, используя флаг -g, как в:

npm install -g jslint 

так же, как обычные пакеты его код установлен в директории определяется окр вар

NODE_PATH 

Адди ционно ее исполняемыми живет в бункерном директории, которая по умолчанию добавляется в PATH во время начальной установки nodejs

на Linux

type jshint 
jshint is /home/stens/node-v5.8.0/bin/jshint 


echo $NODE_PATH 
/home/stens/node-v5.8.0/lib/node_modules 

на окнах окно, подобное происходит просто проверить свой путь, чтобы увидеть nodejs бен реж ... на Linux его местоположение относительно $ NODE_PATH

UPDATE:

Альтернативы выше вы можете поставить некоторые-файл (сделать эквивалент для Windows для CHMOD + х некоторый-файл, чтобы сделать его исполняемым) в директорию, перечисленной в вашей $ PATH ... для примера е на Linux, если я выдавать

type jslint 

который находится потому, что PATH содержит реж /home/stens/node-v5.8.0/bin ... выше командных выходов:

jslint is hashed (/home/stens/node-v5.8.0/bin/jslint) 

затем показать содержимое

кошка /home/stens/node-v5.8.0/bin/jslint

#!/usr/bin/env node 

var main = require("../lib/main.js"); 

main.runMain(main.parseArgs()); 

вы можете увидеть исполняемый файл только nodejs код с го е первая линия

#!/usr/bin/env node 

рассказывающие систему, чтобы выполнить его с помощью узла (не знаю, как Windows, но похоже, должны быть доступны)

поэтому его казнили с помощью

jslint blah input-blah parm-blah goes-blah here-blah 

Надеемся, что это советы вам в в правильном направлении

+0

Могу ли я просто выполнить одиночный файл, не делая его модулем под '% NODE_PATH%'? –

+0

Да см. ОБНОВЛЕНИЕ: –

+0

Спасибо, но команда Windows не поддерживает такой знак, как '#!/Usr/bin/env node'. Я думаю. –

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