nodejs(包括express的基本使用)

1.普通的http请求//使用 HTTP 服务器和客户端var http = require('http')//创建一个web服务器 并且返回server实例var server = http.createServer()//当服务器收到request事件的时候触发后面的回调函数server.on('request',function(request,response){ resp...
摘要由CSDN通过智能技术生成

1.普通的http请求

//使用 HTTP 服务器和客户端
var http = require('http')
//创建一个web服务器 并且返回server实例
var server = http.createServer()

//当服务器收到request事件的时候触发后面的回调函数
server.on('request',function(request,response){
   
	response.setHeader("Access-Control-Allow-Origin","*");
	console.log("收到客户端的请求了")
	let arr = {
   
		"name": "zhangsan",
		"password":"123456"
	};
	//返回的信息放在write()里
	// response.write(JSON.stringify(array));
	//或者通过end发送-----推荐
	//结束这次请求,如果不结束客户端将接收不到信息
	response.end(JSON.stringify(arr))
})

//绑定端口号,启动服务器
server.listen(3000,function(){
   
	
})

2.require方法

1.require('art-template') //如果路径不加./ ../  则它会去node_modules中寻找包名为art-template的文件 即第三方包的加载方式
2.require('./a')  //加了./ ../  这两种路径的请求时  他会去当前或者上一级中找文件,不会去node_module中寻找  即加载自己写的文件

3.两个js之间的调用

通过require加载模块
a.js

var b = require('./b.js')

console.log(b.add(100,200))

b.js

//第一种是导出多个成员
exports.add = function(x,y){
   
	return x+y;
}
//第二种是导出单个成员
module.exports.b = function(x,y){
   
	return x+y;
}
module.exports.add = function(x,y){
   
	return x-y;
}
//两种方法在一个文件中可以同时出现,如果前后的成员不一样则会将两种方法的成员结合暴露出去
//如果后面一种中的成员和前面一种中的成员出现一样,则会出现后面暴露的方法中的成员覆盖前面暴露的方法的成员  比如上的的exports.add方法会被emodule.exports中的add方法覆盖

//但是如果是下面这种方法导出单个成员变量然后又有exports.a这种方式导出变量,那么通过exports导出的成员都将无效
module.exports = {
   
   	add:function(x,y){
   
   		return x+y
   	},
   	acc:function(x,y){
   
   		return x-y;	
   	}
}
//关键在于最终暴露出去的方法是这样的 => return module.exports  如果对module.exports重新复制,那么exports所指向的对象就和module.exports所指向的对象不同
//比如下面这个例子
var moduleExports = {
   };  //这个相当于module.exports
var exports = moduleExports ; //这个相当于exports
//这个时候module.exports 与exports所指向的对象是同一个
//那么你对exports进行赋值的话moduleExports 中的值也会发生改变
exports.a = "foo";
console.log(moduleExports.a); //此时输出的结果为foo
//这就相当于上面的module.exports.b  exports.a   无轮你对谁赋值都能进行保存
//但是如果这个时候你对moduleExports 进行重新赋值
//此时moduleExports与exports 所指向的是不同的对象,所以你对exports赋值作用不到moduleExports上
moduleExports = {
   };
console.log(moduleExports.a);//这个时候就找不到这个a成员
//这就相当于上面的
//module.exports = function(){
   
//   	add:function(x,y){
   
//   		return x+y
//   	},
//   	acc:function(x,y){
   
//   		return x-y;	
//   	}
//}

//然后又由于nodejs文件暴露的是module.exports  所以你在对module.exports 重新赋值后再去设置exports的成员变量在另一个文件夹是获得不到那些成员变量的

4.Express

1.安装

npm install  express --save

2.hello world

const express = require('express')
//express() ---> http.createServer()
var server = express
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值