Nodejs 基于组件化的开发。通过npm管理第三方的组件库。文件夹可相互调用,建议一个JS实现一种功能。
NodeJS 模块
声明导出为一个模块 exports(封装一个模块), 引入模块require
第一种方式:
a.js
exports.li = function(){ //li为模块名称 console.log("Hello NodeJS"); }
c.js 调用a.js模块如下:
var mo = require('./a'); mo.li();
第二种方式:
d.js
function li(){ console.log("Hello Nodejs"); } module.exports = li;
e.js 调用上面的d.js如下:
var mo = require('./a'); console.log(new mo()); //有点类似类的构造函数?
NodeJS 文件操作
通过模块fs对文件进行增删改查等操作
f.js 读取并显示文件内容
var fs = require('fs') ; // console.log(fs) //查看fs相关的方法 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)=>{ //=>表示一个匿名函数 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来匹配需要渲染的对应模板;
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');