node.js不是一门新的编程语言,简单来说nodejs是脱离了浏览器可以使js在后端运行的一个环境,以及新增了大量的用于适应后端的API。
nodejs的主要应用场景:
1)初衷,server端,不想成了前端开发的基础设施
2)命令行辅助工具,甚至可以是运维
3)移动端:cordova,pc端:nw.js和electron
4)组件化,构建,代理
5)架构,前后端分离、api proxy
6)性能优化、反爬虫与爬虫
Node.js学习重点: Async函数与Promise
中流砥柱:Promise
终极解决方案:Async/Await
简易node后端服务器
// 创建一个http对象
const http = require("http");
// 创建服务器的方法,客户在访问该服务器时,运行的就是该回调函数
http.createServer(function(req, res){
//设置响应头
res.writeHead(200,{"Content-Type":"text/html;charset=utf-8"});
res.write("hhh"); //写内容
res.end("等你"); //结束连接,可携带内容
}).listen(8888); //指定端口
node模块的导入与导出
利用exports关键字作为对外暴露属性的载体
//方法一 模块打包
let str = "哈哈";
function fun() {
console.log("heihei");
}
let c = 567;
// exports:对外暴露属性的载体
exports.str = str;
exports.fun = fun;
//模块引入
// const myMoudel = require("文件路径");
const myMoudel = require("./2.a.js");
// 方法一
console.log(myMoudel.str);
myMoudel.fun();
// 方法二:
//打包模块
let b = 777;
module.exports = {
a: 1,
add: function(a, b) {
return a + b;
},
fun() {
console.log("这是ES6的写法");
}
}
//模块导入
// 方法二
console.log(myMoudel.a);
console.log(myMoudel.add(1, 2));
myMoudel.fun();
module.exports = {
c: 2,
key: myMoudel
}