nodejs服务器基础学习笔记
哔哩哔哩学习视频
简单的nodejs服务器
const http = require('http');
const qs = require('querystring');
const url = require('url');
const server = http.createServer((req, res) => {
// http://localhost:3000/login?username=zhangsan&password=123456
// 访问上面的连接,下面打印参数
if (req.url.startsWith("/login")) {
console.log(req.url);
let queryStr = url.parse(req.url).query;
let queryObj = url.parse(req.url, true).query;
console.log(queryStr)
console.log(qs.parse(queryStr));
console.log(queryObj)
// 打印结果:
// username=zhangsan&password=123456
// [Object: null prototype] { username: 'zhangsan', password: '123456' }
// [Object: null prototype] { username: 'zhangsan', password: '123456' }
}
// 设定字符编码及内容
res.writeHead(200, { 'Content-Type': 'text/html;charset=utf-8' })
res.write('你好, nodejs server');
res.end();
});
server.listen(3000);
console.log('your server is running at http://localhost:3000');
给上面代码写入 app.js文件,运行他: node ./app.js
nodejs的api文档
上面代码使用了 url、和 querystring两个核心模块来获取url的参数
使用express开发web
express是一个基于nodejs的web开发框架。
# 安装express
npm install express --save --registry https://registry.npm.taobao.org
简单的express服务器
const express = require('express'); // 引用第三方模块
const app = express(); // 实例化express
app.get('/', (req, res) => {
res.send('hello express');
});
app.get('/login', (req, res) => {
// http://localhost:3000/login?username=zhangsan&password=123456
// 访问上面的连接,下面打印参数
console.log(req.query);
// 打印结果是一个json对象:
// { username: 'zhangsan', password: '123456' }
res.send('this is a login page');
});
// 监听端口
app.listen(3000, () => {
console.log('your server is running at http://localhost:3000');
});
使用express生成器直接生成项目 --脚手架
# 安装脚手架
npm install express-generator --registry https://register.npm.taobao.org
# 生成项目,其中 03-express-app 是项目名称
express 03-express-app --view=ejs
# 进入项目
cd 03-express-app
# 安装依赖
npm install --registry https://registry.npm.taobao.org
# 运行项目
npm run start
ejs是一套简单的模板语言,利用JavaScript代码生成HTML页面
process.env.PORT = 2000; // 默认端口 3000
__dirname: 表示当前文件所在的 目录
public目录存放静态资源
例如资源 public/images/1.png
图片可以通过 http://localhost:3000/images/1.png
进行访问
express热启动
安装node-dev
node-dev是一个node.js开发工具,当文件被修改时,它会自动重新启动node进程
npm install -g node-dev --registry https://registry.npm.taobao.org
package.json 修改如下