摘要:引言一個(gè)服務(wù)器發(fā)布文件,通過接口,程序也可以對(duì)請(qǐng)求回應(yīng)數(shù)據(jù)流進(jìn)行加工。把直接發(fā)布行不行就是在瀏覽器中或遠(yuǎn)程其他中直接調(diào)用,就像在你的后端直接調(diào)用一個(gè)模塊一樣。這就叫發(fā)布一個(gè)類。
引言
一個(gè)web服務(wù)器發(fā)布html文件,通過CGI接口,程序也可以對(duì)請(qǐng)求/回應(yīng)數(shù)據(jù)流進(jìn)行加工。那web服務(wù)器可以發(fā)布一個(gè)class類嗎?
發(fā)布一個(gè)class類是什么意思?當(dāng)你用nodejs在后端寫了一個(gè)class類,希望被前端或遠(yuǎn)程其他nodejs調(diào)用。這時(shí)你該怎么辦?......還得一陣猛忙活,然后宣稱提供了一個(gè)什么RESTful之類的接口。
把class直接發(fā)布行不行?就是在瀏覽器中或遠(yuǎn)程其他nodejs中直接調(diào)用,就像在你的后端直接調(diào)用一個(gè)模塊一樣。這就叫發(fā)布一個(gè)class 類。
先看一個(gè)演示程序演示的例子當(dāng)然叫HelloWorld了:-),這是慣例。
編寫一個(gè)類HelloWorld.es6
class HelloWorld { constructor() { this.greeting = "Hello World!"; } welcome(callback) { callback(null, this.greeting); } } export default HelloWorld;
使用babel轉(zhuǎn)成ES5
$ babel HelloWorld.es6 -o HelloWorld.js
如果你還不會(huì)使用babel,那就使用babel官網(wǎng)轉(zhuǎn)吧!轉(zhuǎn)完的文件叫HelloWorld.js
現(xiàn)在要把你寫好的class發(fā)布出去了!# npm install nodeway -g
安裝nodeway,這一步應(yīng)該沒什么可解釋的。能解釋的就是這個(gè)名字,還不想解釋。
使用nodeway命令,把你寫的HelloWorld這個(gè)類發(fā)布出去吧!
# nodeway --class HelloWorld.js --host 0.0.0.0 --port 8080 --docs . &
這句的意思是啟動(dòng)一個(gè)Web Server,把HelloWorld.js發(fā)布出去。
好了,現(xiàn)在剩下的就是測(cè)試了。
HelloWorld
用瀏覽器訪問你寫的這個(gè)index.html文件,就可以看到你發(fā)布成功了。
簡(jiǎn)單吧?還能再簡(jiǎn)單點(diǎn)不?能呀!如果你懶得安裝nodeway包,那就把下面內(nèi)容貼到你的Web服務(wù)器下
HelloWorld
這有什么不同?原來