一、第一个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
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。



