Welcome

首页 / 脚本样式 / JavaScript / nodejs基础应用

一、第一个nodejs应用
n1_hello.js
console.log("hello word!");
在命令行cmd中执行该文件(在该文件处打开命令行):
node n1_hello.js
在命令行cmd返回结果:
hello word!
二、nodejs基本格式
//步骤一:引入require模块,require指令载入http模块var http = require("http");//步骤二:创建服务器http.createServer(function (request, response) { // 发送 HTTP 头部 // HTTP 状态值: 200 : OK // 内容类型: text/html response.writeHead(200, {"Content-Type": "text/html;chaset=utf-8;"});//步骤三:接受请求与响应请求 if(request.url!=="/favicon.ico"){ ......// 发送响应数据response.end("");//必须有,没有则没有协议尾 }}).listen(8000);// 终端打印如下信息console.log("Server running at http://127.0.0.1:8000/");
三、nodejs调用函数
-----------------调用本地函数-----------------------------
var http = require("http");http.createServer(function (request, response) { response.writeHead(200, {"Content-Type": "text/html;chaset=utf-8;"}); if(request.url!=="/favicon.ico"){fun1(response);// 发送响应数据response.end(""); }}).listen(8000);// 终端打印如下信息console.log("Server running at http://127.0.0.1:8000/");function fun1(res){ console.log("fun1"); res.write("hello,我是fun1");}
-----------------调用外部函数-----------------------------
注意:外部函数必须写在module.exports中,exports 是模块公开的接口
------------(1)仅调用一个函数-----------
主程序中:
var http = require("http");var otherfun = require("./models/otherfuns.js");//调用外部页面的fun2http.createServer(function (request, response) { response.writeHead(200, {"Content-Type": "text/html;chaset=utf-8;"}); if(request.url!=="/favicon.ico"){otherfun(response);//支持一个函数时response.end(""); }}).listen(8000);// 终端打印如下信息console.log("Server running at http://127.0.0.1:8000/");
otherfuns.js中
function fun2(res){ console.log("fun2"); res.write("你好!,我是fun2");}module.exports = fun2;//只支持一个函数
------------(2)调用多个函数-----------
主程序中:
var http = require("http");var otherfun = require("./models/otherfuns.js");//调用写函数的外部页面otherfuns.jshttp.createServer(function (request, response) { response.writeHead(200, {"Content-Type": "text/html;chaset=utf-8;"}); if(request.url!=="/favicon.ico"){//todo 以对象.方法名调用otherfun.fun2(response);otherfun.fun3(response);//todo 以字符串调用对应函数(结果同上)//otherfun["fun2"](response);//otherfun["fun3"](response);response.end(""); }}).listen(8000);// 终端打印如下信息console.log("Server running at http://127.0.0.1:8000/");}
otherfuns.js中

module.exports={ fun2:function(res){//匿名函数console.log("fun2");res.write("你好!,我是fun2");//在页面中输出 }, fun3:function(res){console.log("fun3");res.write("你好!,我是fun3"); },......}
 四、nodejs路由初步
主程序n4_rout.js:
var http = require("http");//引入url模块var url = require("url");http.createServer(function (request, response) { response.writeHead(200, {"Content-Type": "text/html;chaset=utf-8;"}); if(request.url!=="/favicon.ico"){var pathname = url.parse(request.url).pathname;pathname=pathname.replace(///,"");//替换掉前面的/console.log(pathname);response.end(""); }}).listen(8000);// 终端打印如下信息console.log("Server running at http://127.0.0.1:8000/");
在命令行cmd中执行该文件,在访问:http://localhost:8000/,在此输入路由地址,如下图,并观察命令行。


五、nodejs读取文件
主程序:

var http = require("http");var optfile=require("./models/optfile");//导入文件http.createServer(function (request, response) { // 发送 HTTP 头部 // HTTP 状态值: 200 : OK // 内容类型: text/html response.writeHead(200, {"Content-Type": "text/html;chaset=utf-8;"}); if(request.url!=="/favicon.ico"){//清除第2次访问optfile.readfileSync("./views/login.html");//同步调用读取文件readfileSync()方法//optfile.readfile("./views/login.html",response);//异步步调用读取文件readfile()方法response.end("ok!!!!!");//todo 不写没有协议尾console.log("主程序执行完毕!"); }}).listen(8000);// 终端打印如下信息console.log("Server running at http://127.0.0.1:8000/");
optfile.js中:
var fs=require("fs");//Node 导入文件系统模块(fs)语法 导入fs操作文件的类module.exports={ readfileSync:function(path){// 同步读取var data = fs.readFileSync(path,"utf-8");//以中文读取同步文件路径pathconsole.log("同步方法执行完毕。"); }, readfile:function(path){// 异步读取fs.readFile(path,function (err, data) { if (err) {console.error(err); }else{console.log("异步读取: " + data.toString()); }});console.log("异步方法执行完毕。"); },}
结果:命令行cmd中
(1)同步读取文件时:

  
(2)异步读取文件时:(常用)

  
   网页中:均为:


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持脚本之家!