nodejs知识点2

1.模块的使用

 0.安装模块
npm i axios -S


    1.导入模块
var axios = require('axios')


    2.使用模块
axios.get(url)
.then(res=>res.data)
.catch(err=>err)

2.自定义模块

  1.一个文件就是一个模块
定义模块
module.exports={
   max:function(a,b){return a}
   min:(a,b)=>b
}


    导入模块
const  utils = require("./utils")
utils.max(15,20)


    使用模块
var  {max,min} = require(""./utils.js)
min(5,20)

3.fs文件处理

 导入文件模块
var fs =require('fs')


    读取
        var re = fs.readyFileSync(url,"utf-8")
        fs.readyFile(url,"utf-8",function(err,data){})


    写入
        fs.writeFileSync(url,data)
        fs.writeFile(url,data,function(err){})

4.http服务器模块

 导入
var http = require("http");
var url = require("url")//解析地址


    创建服务器
var server = http.createServer(function(req,res){
var Url = Url.parse(req.url);// 解析url
res.status = 200;//设置状态码
res.setHeader("Contene-Type","application/json")
res.end(`{}`)
})


    监听并启动
server.listen("8888",function(){
    console.log("服务器启动完毕")
})

5.sql在nodejs使用

  0.安装nodejs
npm i mysql -S


    1.导入
var mysql = require(“mysql”)


    2.创建连接
var con = mysql.createConnect({
        host:"localhose",
        user:"root",
        password:"123456",
        database:"feedback"
})


    3.连接
con.connect(function()err{
  if(err){console.log("数据库连接成功")}
})


    4.执行sql
var sql = `select*from user where 1`;
con.query(sql,function(err,result){
  // err 错误信息
 //  result 执行结果
})


    5.断开sql
con.end(function(err){
    if(!err){consloe.log("断开成功")}
})

6.前端不分离

 前端:写好模板

         ↓

  后端:
读取模板+数据
生成html

          ↓

 浏览器:
后端发送给浏览器

7.前后端分离

后端:                                     数据(json)                     ajax 获取数据
获取数据库json                         →  →  →                     在浏览器渲染页面

前端:
写好html+业务路径

8.前后端不分离

前端
写好html+css

         ↓

后端
html改成模板(.ejs)
模板添加循环<% list.forEach>
模板添加渲染<% = item %>

         ↓

生成html
发送给浏览器

9.express前后端不分离

 0. 安装模板
npm i ejs-S


    1.设置模板
app.set("views","./views")
app.set("view engin","ejs"); // 使用ejs引擎


    2. 定义模板
/views/user.ejs


    3.定义路由
app.get("/user",function(req.res){
   res.render("user",{title:"",list:[]})
   // 渲染/view/user.ejs模板,并传入数据{title:"",list:[]}
})


    4.ejs 模板语法
<%= %>渲染数据的
<% %>执行js的


        <p><%= title %></p>
将会把标题渲染到p标签里面


        list.foreEach(item=>{
   <li></li>
})


        <% list.forEach(item=>{%>
 <li><%= item %></li>
})

10.express前后端分离

  get:
   app.get("/list",function(req.res){
  res.json({}) // 发送给客户端
})


  post:
 1.使用中间件
app.use(express.json())


    app.post("/adduser,function(req,res){
   // req.body 客户端发送给后端的数据body
   req.json({})  //  发送数据给客户端
}")

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值