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 修改如下
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_26264237

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值