一、第一个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");//调用外部页面的fun2 http.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.js http.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');//以中文读取同步文件路径path console.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)异步读取文件时:(常用)
网页中:均为:
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!
nodejs
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。
更新动态
- 黑鸭子2010-再度重相逢[首版][WAV+CUE]
- 【原神手游】5.2版本圣遗物优化详情
- 方季惟.1989-一生只爱一次【蓝与白】【WAV+CUE】
- 群星.1997-强力舞曲总动员【金点】【WAV+CUE】
- 盘尼西林.2024-岛与黎明【智慧大狗】【FLAC分轨】
- 刀郎《柔情经典》 2CD[WAV分轨][3.8G]
- 群星2024《民谣精选》原音母版1:1直刻[低速原抓WAV+CUE][1.1G]
- 经典《泰坦尼克号原声大碟》[WAV+DSF+FLAC多版][5.2G]
- 魔兽世界兽王猎输出宏代码是什么 兽王猎翻页输出宏命令代码分享
- 魔兽世界wlk野德一键输出宏是什么 wlk野德一键输出宏介绍
- wlk鸟德一键输出宏是什么 wlk鸟德一键输出宏介绍
- 《明末:渊虚之羽》外网新宣传:有勇气面对障碍吗?
- 视觉盛宴!V社公布《看火人》团队新作水面物理效果演示
- 张艺谋呼吁观众走进影院看电影:对解说短视频很无语
- 车载音乐最强享受 《车载极致女声精选》[WAV分轨][1G]