- 基于Chrome V8引擎
在处理高并发非常有优势,和C语言性能上不相上下。
- 单线程
单线程的意思就是:在同一时间只能干一件事
- 可以使用JS开发后端代码
顺便提下,前端ES6或许因为兼容性需要编译为ES5,但node是服务端的,本身支持ES6,运行在服务端所以ES6不需要编译
- 创建Web容器,访问HTML内容
//编写一个server.js
let http = require('http');
let url = require('url');
let util = require('util');
let fs = require('fs');
let server = http.createServer((req,res)=>{
//res.statusCode = 200;
//res.setHeader("Content-Type","text/plain; charset=utf-8");
var pathname = url.parse(req.url).pathname;
console.log("file:"+pathname.substring(1))
fs.readFile(pathname.substring(1), function (err,data) {
if(err){
res.writeHead(404,{
'Content-Type':'text/html'
});
}else{
res.writeHead(200,{
'Content-Type':'text/html'
});
res.write(data.toString());
}
res.end();
});
});
server.listen(3000,'127.0.0.1', ()=>{
console.log("服务器已经运行,请打开浏览,输入:http://127.0.0.1:3000/ 来进行访问.")
});
//在同级目录下再编辑一个html
index.html
//随便什么内容
//然后在命令行运行
node ./server.js
//运行成功后访问
http://127.0.0.1:3000/index.html
- Express框架安装
//安装
npm i -g express-generator
//查看版本
express --version
//生成express
express server
//安装依赖
npm i
Express文件介绍
bin:可执行文件
pulic:静态资源
routes:路由
views:视图
app.js:入口
- 修改express模板引擎
安装ejs
npm i ejs –save
//设置html
var ejs =require('ejs');
app.engine('.html',ejs.__express);
//下面注意是修改为这样的!
app.set('view engine', 'html');