nodeJs初始

2018-01-22

使用语法建立服务器(基于webstrom编辑器)

  • nodeJs属于后端的javascript,只在后端进行运行的语言,在前台输出,逻辑运行在服务端
  • 引入http模块
  • req==>request请求:浏览器提交给服务器相关
  • res==>response回复:服务器到浏览器相关
  • 更改服务器里的代码时,需要重新启动服务器
  • 设置代码格式的三种方法:

    text/html解析标签<====>text/plan不解析标签
    res.setHeader(“Content-type”,”text/html;charset=utf8”);
    res.writeHeader(200,{“Content-type”:”text/html;charset=utf8”});
    res.write(““);

    1
    2
    3
    4
    5
    6
    7
    8
    var http=require("http");
    var server=http.createServer(function(req,res){
    res.setHeader("Content-type","text/html;charset=utf8");
    res.write("你好");
    res.end();
    });
    //设置端口号,通过localhost:端口号进行访问
    server.listen(8789);

结果如下:
访问端口号的结果

使用模块

1. 预定义模块的使用下载

编辑器webstrom可以追函数,按住ctrl or command鼠标悬浮于函数之上,如若可以点击说明此模块已下载,可以直接使用。

1
2
//引用http模块
var http=require("http");

2. 自定义模块的使用格式

建立两个js文件test1.js, test2.js,在test1.js文件里引用test2.js里的函数和变量并输出

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
//test2.js
var a="hello,world";
var fn=function(){
console.log("我是test2.js里的函数");
}
module.exports={
a,
fn
}
//test1.js
var http=require("http");
var test2=require("./test2");
var server=http.createServer(function(req,res){
res.setHeader("Content-type","text/html;charset=utf8");
console.log(test1.a);
test1.fn();
});

结果如图:
模快引入打印结果

3. 模块语言的使用方式

如果是通过下载得来的模块,引用可以使用require("预定义名称");,如果是自定义的格式为require("./fnCommon");
自己定义的模块可以通过命令jade -P -w 主入口文件名修改主入口文件。

通过get传参

在ajax中可以通过发送请求,post或者get方式,在nodeJs中也可以得到get方式的参数,并把它输出到页面,引入url模块即可。

1
2
3
4
5
6
7
8
9
10
11
var http=require("http");
var url=require("url");
var server=http.createServer(function(req,res){
res.setHeader("Content-type","text/html;charset=utf8");
var result=url.parse(req.url,true);
var name=result.query.name;
var age=result.query.age;
res.write(`姓名是${name};</br>年龄是${age}`);
res.end();
});
server.listen(8787);

结果如图:
传参结果如图