Tool:Visual Studio 2015 Enterprise Update 1、Node.js Tools 1.1.1 for Visual Studio 2015
OS:Windows 10
Node.js、JavaScript
Q:如何使用外部Module檔案中的程式碼?
A: 建立一個新Blank Node.js Console Application測試,在主程式app.js檔案中加入:
function StringDemo(str) {
this.concat = function (s) {
str = str + s;
return this;
}
this.toUpperCase = function () {
str = str.toUpperCase();
return this;
}
this.getResult = function (callback) {
callback(str);
return this;
}
return this;
}
new StringDemo("a")
.concat("b")
.concat("c")
.concat("d")
.toUpperCase()
.getResult(function (result) {
console.log(result);
});
按F5,會印出執行結果 :ABCD
若在專案中加入一個StringDemo.js檔案,將StringDemo的定義移到此檔案中:
function StringDemo(str) {
this.concat = function (s) {
str = str + s;
return this;
}
this.toUpperCase = function () {
str = str.toUpperCase();
return this;
}
this.getResult = function (callback) {
callback(str);
return this;
}
return this;
}
若在起始的app.js檔案,想要使用這個建構函式,使用以下程式碼:
new StringDemo("a")
.concat("b")
.concat("c")
.concat("d")
.toUpperCase()
.getResult(function (result) {
console.log(result);
});
想當然,當執行此程式時,會出現找不到StringDemo的錯誤訊息:
若要叫用外部module的程式碼,可以將StringDemo.js檔案程式修改如下,在檔案最後匯出module:
function StringDemo(str) {
this.concat = function (s) {
str = str + s;
return this;
}
this.toUpperCase = function () {
str = str.toUpperCase();
return this;
}
this.getResult = function (callback) {
callback(str);
return this;
}
return this;
}
module.exports = StringDemo;
然後在app.js檔案中,叫用require方法匯入module
var StringDemo = require('./StringDemo.js')
new StringDemo("a")
.concat("b")
.concat("c")
.concat("d")
.toUpperCase()
.getResult(function (result) {
console.log(result);
});
這樣就可以呼叫到StringDemo,執行結果參考:
沒有留言:
張貼留言