node.js详解+案例

系列文章目录

提示:node基础, 系统模块,第三方模块,node.js 对数据库的操作(增删改查).使用node实现对列表简单的增删改查功能

node.js详解+案例_第1张图片


文章目录

  • 系列文章目录
  • 前言
  • 一.node.js 是什么?
  • 二.Node 入门
    • 2.1 node 组成
    • 2.2 node运行
  • 三.系统模块
    • 3.1 什么是系统模块
    • 3.2 文件操作
    • 3.3 写入文件
  • 四.第三方模块
    • 4.1. 如何获取第三方模块(其他开发者开发的模块叫第三方模块)
    • 4.2. 本地安装和全局安装
    • 4.3安装慢怎么办
    • 4.4如果安装不成功报一个 错误:在此系统上禁止运行脚本则需要在Windows PowerShell修改执行策略。
  • 五.node.js 对数据库的操作(增删改查)
  • 六.使用node实现对列表简单的增删改查功能
    • 总结


前言

大家好呢,今天 一起 学习一下node.js. node.js 是一个基于 javascript 这门语言而开发出来的技术,本文就介绍了node.js学习的基础内容。

node.js详解+案例_第2张图片


提示:以下是本篇文章正文内容,下面案例可供参考

一.node.js 是什么?

node.js官网
node.js中文网

学习 Node.js 不是学习一种新的语言,而是一门技术

二.Node 入门

2.1 node 组成

1、JavaScript 由三部分组成,ECMAScript,DOM,BOM
2、Node.js是由ECMAScript及Node 环境提供的一些附加API组成的,包括文件、网络、路径等等一些更加强大的 API

2.2 node运行

node是基于javascript来使用的,所以node文件的后缀名都是 .js
退出运行的方法:crtl c 运行文件:
node 文件名.js 

三.系统模块

3.1 什么是系统模块

Node运行环境提供的API. 因为这些API都是以模块化的方式进行开发的, 所以我们又称Node运行环境提供的API为系统模块

3.2 文件操作

同步读取

  • 语法:
var fs=require('fs')
var res=fs.readFileSync('./kl.txt','utf8')
console.log(res);
  • 案例:
//引入系统模块
const http = require ('http')
const fs =require('fs');
//创建http服务
const app = http.createServer()
//客户请求 ,给予响应
app.on('request',function(req,res){
     
    console.log(req.url);
    if(req.url=='index' || req.url=='/'){
     
        let result = fs.readFileSync('html/index.html','utf8')
        res.end(result)
    }else if(req.url == '/order'){
     
        let result = fs.readFileSync('html/order.html','utf8')
        res.end(result)
    }else if(req.url=='/my'){
     
        let result = fs.readFileSync('html/my.html','utf8')
        res.end(result)
    }else if (req.url =='add'){
     
        let result = fs.readFileSync('html/add.html','utf8')
        res.end(result)
        
    }else{
     
        let result = fs.readFileSync('html/error.html','utf8')
        res.end(result)
    }
})
//启动
app.listen(3001,function(){
     
    console.log('server is running at http://127.0.0.1:3001')
})

异步读取

const fs=require('fs')
fs.readyFile('kl.txt','utf8',function(err,data){
     })
或
fs.readFile('kl.txt','utf8',(err,data)=>{
     
    console.log(err)
    console.log(data)
})

3.3 写入文件

语法

fs.writeFile()

案例

const fs = require('fs')
fs.writeFile('./kl..txt', 'hello', err => {
     
    if (err) throw err;
    console.log('文件写入成功')
})

回调函数参数为一个的,可以省略()


四.第三方模块

4.1. 如何获取第三方模块(其他开发者开发的模块叫第三方模块)

下载和卸载第三方模块
下载:npm install 模块名称
卸载:npm unintall package 模块名称

4.2. 本地安装和全局安装

  • 本地安装:(模块当前项目使用)
npm install jquery
npm uninstall jquery
  • 全局安装:模块被下载全局目录下,所有项目都可以使用
npm install nodemon -g
npm uninstall nodemon -g

4.3安装慢怎么办

原因:

  • :nodejs.com 在国外服务器上

解决:

  • 安装nrm,通过nrm更换下载源,更换之后,任然使用npm命令安装模块
  • 安装cnpm,使用cnpm安装模块

nrm使用:

  • 使用npm install nrm -g 下载
  • 查询 nrm ls
  • 切换下载地址 nrm use
  • 下载模块 npm install 模块名称

node.js详解+案例_第3张图片
cnpm 使用:

使用npm安装 cnpm,同时更换所需下载源

  • npm install -g cnpm --registry-http://registry.npm.taobao.org

安装成功后,使用cnpm命令安装第三方模块

  • cnpm install jquery

4.4如果安装不成功报一个 错误:在此系统上禁止运行脚本则需要在Windows PowerShell修改执行策略。

第一步:Start-Process powershell -Verb runAs(以管理员的方式打开)

node.js详解+案例_第4张图片

第二步:从普通模式转至管理员模式,输入以下set-ExecutionPolicy RemoteSigned命令然后按下回车键。
node.js详解+案例_第5张图片
输入:Y 或者A 就可以了

五.node.js 对数据库的操作(增删改查)

//const 声明 
//require 引入
const  mysql=require('mysql');

let pool = mysql.createPool({
     
    host     : 'localhost',
    user     : 'root',
    password : 'root',
    database : 'blog'
})

pool.getConnection((err,connection)=>{
     
    if (err) throw err;
    let uname='root';
    let upwd='root';
    let sql="SELECT * FROM aa ";
    connection.query(sql,[uname,upwd],(err,result,fields)=>{
     
        if(result.length>0){
     
            console.log("登录成功");
        }else{
     
            console.log("登录失败");
        }
    })
    connection.release();
})

//insert
    let username = '小明';
    let people = '小张';
    let score = '100'
let sql2 = "INSERT INTO people (username,people,score) VALUE(?,?,?)";
pool.query(sql2,[username,people,score],(err, result, fields)=>{
     
    if (result.length > 0) {
     
        console.log(result);
    } else {
     
        console.log(result);
    }
})

六.使用node实现对列表简单的增删改查功能

node.js详解+案例_第6张图片
//html
node.js详解+案例_第7张图片

//api.js
node.js详解+案例_第8张图片
//编辑页

      <script>
        // 获取传递过来的博客 id 的值
        let id = window.location.search.split("=")[1];
        http_get("/api/blog?id=" + id, (data) => {
     
          let json = JSON.parse(data);
          document.querySelector("#title").value = json.title;
        });

        document.querySelector(".btn").addEventListener("click", () => {
     
          let params = {
     
            id: id,
            title: document.querySelector("#title").value,
          };

          http_post("/api/edite", params, (data) => {
     
            if (data == "success") {
     
              window.location.href = "index.html";
            }
          });
        });
      </script>

总结

提示:这里对文章进行总结:
例如:以上就是本次的内容啦,本文简单介绍了node.js的使用,而node.js提供了大量能使我们快速便捷地处理逻辑的方法。

你可能感兴趣的:(JavaScript,Node.js)