安裝一個(gè)node環(huán)境
sudo apt-get install nodejs #nodejs開(kāi)發(fā)環(huán)境,如java的jdk
sudo apt-get install npm #nodejs的包管理器功偿,以后會(huì)經(jīng)常用到它
來(lái)吧矿微,啟航
先來(lái)創(chuàng)建一個(gè)該項(xiàng)目的文件夾(自己來(lái),不寫(xiě)了)
進(jìn)入文件夾執(zhí)行
npm init
然后跟著提示一步步寫(xiě)(當(dāng)然可以不寫(xiě)冈在,一直回車)。 你會(huì)發(fā)現(xiàn)多了個(gè)package.json的文件按摘,這個(gè)是該項(xiàng)目的介紹性文件包券,對(duì)項(xiàng)目的維護(hù)/迭代等都有很大的幫助(當(dāng)然你可以直接跳過(guò)這個(gè)操作的,只是透露點(diǎn)開(kāi)發(fā)真正項(xiàng)目的規(guī)范)炫贤。
- 創(chuàng)建一個(gè)入口文件(index.js)(下面的這段是直接抄錄的helloworld溅固,沒(méi)辦法,入門就得它)
var http = require('http'); //引入http模塊兰珍,顧名思義包含http協(xié)議的內(nèi)容
http.createServer(function(req,res){ //創(chuàng)建服務(wù)器侍郭,兩個(gè)參數(shù),請(qǐng)求參數(shù)和回執(zhí)
res.writeHead(200,{'Content-Type':'text/plain'}); //回執(zhí)頭部信息
res.write('hello world!\n'); //回執(zhí)內(nèi)容
res.writeEnd(); //回執(zhí)結(jié)束
}).listen(3000) //監(jiān)聽(tīng)3000的端口
- 保存退出掠河,執(zhí)行node index.js(你的文件名亮元,可以不加.js),控制臺(tái)呈現(xiàn)監(jiān)聽(tīng)效果,打開(kāi)瀏覽器輸入
localhost:3000或者127.0.0.1:3000
- 飛行結(jié)束唠摹,落地
通過(guò)下面的例子補(bǔ)充下?tīng)I(yíng)養(yǎng)
在項(xiàng)目文件夾下創(chuàng)建一個(gè)文本文件(我先創(chuàng)建了個(gè)public文件夾爆捞,在該文件夾下創(chuàng)建hello.txt),隨便輸入一些內(nèi)容(hello bob!);
然后在項(xiàng)目的根目錄下創(chuàng)建file.js
'use strict' //這一行是ES6下為防止不兼容加的
var fs = require('fs'); //
fs.readFile('pubic/hello.txt',function(err,data){ //異步讀取文件勾拉,讀取完后執(zhí)行回調(diào)函數(shù)
exports.data = data.toString(); //將data屬性暴露出來(lái)煮甥,并賦值讀出的數(shù)據(jù)
});
- 還需要對(duì)index.js文件進(jìn)行修改
'use strict'
var myFile = require('./file'); //引入我們自己的模塊
var http = require('http');
http.createServer(function(req,res){
res.writeHead(200,{'Content-Type':'text/plain'});
res.write(myFile.data); //通過(guò)模塊接口拿到數(shù)據(jù)
res.writeEnd(); //回執(zhí)結(jié)束
}).listen(3000) //監(jiān)聽(tīng)3000的端口
- 運(yùn)行入口文件,瀏覽器中查看效果
這個(gè)案例主要講述兩個(gè)內(nèi)容藕赞,一個(gè)是讀取本地文件成肘,一個(gè)是模塊化開(kāi)發(fā)和模塊引入,這些都是我們使用nodejs開(kāi)發(fā)項(xiàng)目的基礎(chǔ)斧蜕。