2015-11-03 3 views
2

В настоящее время я изучаю Node.JS на своей машине для Windows. У меня установлен мой путь, и я уже сделал довольно много разработок (все мои скрипты в cygwin). Наконец, пришло время запускать их напрямую, вместо вызова «node --harmony script.js». В учебнике я использую говорит прикрепитьShebang in Node for windows

#!usr/bin/env node --harmony

в верхней части файла. Конечно, это точно не работает. Мой переменный путь говорит, что программа сама узел находится в:

D:\NodeJS\

Я попробовал несколько различных способы использования хижины безрезультатно. Каждый раз, когда я бегу сценарий, он объявляет:

./dbcli.js: line 1: #!D:/NodeJS/: no such file or directory

Кто знает, как это должно быть использовано? Вот код до сих пор:

#!d:/NodeJS/node --harmony 
 

 
const 
 
request = require("request"), 
 
options = { 
 
    method: process.argv[2] || 'GET', 
 
    url: 'http://localhost:5984/' + (process.argv[3] || '') 
 
}; 
 

 
request(options, function (err, res, body) { 
 
    if (err) { 
 
     throw Error(err); 
 
    } else { 
 
     console.log(res.statusCode, JSON.parse(body)); 
 
    } 
 
});

+0

Связанный: http://unix.stackexchange.com/a/12747/63707 - Не знаю, работает ли это под Cygwin. –

ответ

1

Я нашел ответ, и он оказался причудливым один. Поскольку я развивался в Visual Studio, файлы были закодированы как UTF-8 с BOM. В результате в файле было много бессмыслицы при попытке запустить его напрямую.

Приведенный выше код:

#!d:/NodeJS/node --harmony 
 

 
const 
 
request = require("request"), 
 
options = { 
 
    method: process.argv[2] || 'GET', 
 
    url: 'http://localhost:5984/' + (process.argv[3] || '') 
 
}; 
 

 
request(options, function (err, res, body) { 
 
    if (err) { 
 
     throw Error(err); 
 
    } else { 
 
     console.log(res.statusCode, JSON.parse(body)); 
 
    } 
 
});

было именно то, что мне было нужно, но, так как он был неправильно закодирован, он никогда не работал. В настоящее время я редактирую все сценарии в Visual Studio, и для тех, которые я хочу запустить напрямую, я открою Notepad ++ и переключу кодировку (пока не найду лучший способ).