2015-11-03 72 views
2

我目前在我的Windows機器上學習Node.JS。我已經建立了自己的路徑,並且已經完成了相當多的開發(在cygwin中運行我的所有腳本)。最後,我需要直接運行這些代碼,而不是調用'node --harmony script.js'。我使用的教程說附上Shebang在節點窗口

#!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中開發以來,這些文件被編碼爲帶有BOM的UTF-8。結果,在試圖直接運行它時,文件中出現了大量的廢話。

上面的代碼:

#!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 ++並切換編碼(直到找到更好的方式)。