Nodejs 基于組件化的開發(fā)呼巴。通過npm管理第三方的組件庫涮帘。文件夾可相互調(diào)用顶瞳,建議一個JS實現(xiàn)一種功能独令。
NodeJS 模塊
聲明導出為一個模塊 exports(封裝一個模塊), 引入模塊require
第一種方式:
a.js
exports.li = function(){ //li為模塊名稱 console.log("Hello NodeJS"); }
c.js 調(diào)用a.js模塊如下:
var mo = require('./a'); mo.li();
第二種方式:
d.js
function li(){ console.log("Hello Nodejs"); } module.exports = li;
e.js 調(diào)用上面的d.js如下:
var mo = require('./a'); console.log(new mo()); //有點類似類的構(gòu)造函數(shù)?
NodeJS 文件操作
通過模塊fs對文件進行增刪改查等操作
f.js 讀取并顯示文件內(nèi)容
var fs = require('fs') ; // console.log(fs) //查看fs相關(guān)的方法 fs.readFile('0912.text', function(err, data){ if(err){ console.log(err); //拋出異常的錯誤信息 }else{ console.log(data.toString()); } })
NodeJS的I/O操作
I/O 獲取鍵盤/鍵盤...等操作
io.js
var readline = require('readline'); const rl = readline.createInterface({ input: process.stdin, output: process.stdout }); // var rl = readline.createInterface(process.stdin, process.stdout); rl.setPrompt('Please input your word:'); rl.prompt(); rl.on('line', (line)=>{ //=>表示一個匿名函數(shù) var str = line.trim(); console.log('you input word is:' +str); rl.prompt(); }).on('close', ()=> { console.log('exit!'); process.exit(0); });
NodeJS url 判斷渲染模板
通過http, fs, url模塊社付,獲取當前用戶URL地址后面的pathname來匹配需要渲染的對應(yīng)模板承疲;
var http = require('http'); var fs = require('fs'); var urlapi = require('url'); http.createServer(function(req, res){ var url = urlapi.parse(req.url); console.log(url.pathname); }).listen('8088');