node基础

83 阅读3分钟

node基础

参考链接:express参考

源码: gitee地址

Express框架

安装express

    cnpm i express  ==> express 框架
    cnpm i nodemon  ==> 使用该命令启动服务端可以 ‘热重载‘
    sudo npm install express-generator -g ==>  express 生成器

基础demo

    // 引人express
    const express = require('express');
    const app = express();
    app.get('/', (req, res) => {
        res.send('Hello World!');
    })
    app.listen(3000, () => {
        console.log('Server is running on port 3000');

    })

在 终端输入 nodemon base.js ==> Server is running on port 3000

在 浏览器输入 localhost: 3000 ==> 网页显示 Hello Woeld! 表示服务启动成功!

ejs模板语法

Express 应用生成器支持多款流行的视图/模板引擎,包括 EJSHbsPug (Jade)、TwigVash,缺省选项是 Jade。Express 本身也支持大量其他模板语言,开箱即用

个人更加偏向 ejs 参考链接:EJS文档

ejs对HTML结构无改变,只在数据交互渲染有些改动,学习成本很低。

了解标签的含义:

-   `<%` '脚本' 标签,用于流程控制,无输出。
-   `<%_` 删除其前面的空格符
-   `<%=` 输出数据到模板(输出是转义 HTML 标签)
-   `<%-` 输出非转义的数据到模板
-   `<%#` 注释标签,不执行、不输出内容
-   `<%%` 输出字符串 '<%'
-   `%>`  一般结束标签
-   `-%>` 删除紧随其后的换行符
-   `_%>` 将结束标签后面的空格符删除

本地图书馆demo

// demo 目标
-   使用 *Express* 应用生成器创建一个应用骨架。
-   启动和停止 Node web 服务器。
-   使用数据库存放应用数据。
-   创建路由来处理不同信息的请求,创建模板("视图")来渲染 HTML 数据以在浏览器中显示。
-   使用表单。
-   部署应用到生产环境。

使用生成器 生成一个web骨架

 // 1. 初始化一个pakage.json 配置信息
     npm init 
 // 2. 创建项目
     mkdir express-locallibrary
     cd    express-locallibrary
     express --view=ejs   ==> 指定ejs模板 【默认为jadg】
 // 3. 启动骨架项目
     cnpm i
     npm start
 // 4. 更改启动指令, 使服务器修改过后自动热重载
     "scripts": {
        "start": "nodemon ./bin/www"
     },

分析骨架代码

代码目录结构

快速生成项目目录vscode插件: Project Tree

express-locallibrary
├─ app.js  ===> 主文件
├─ bin
│ └─ www   ===> 调用应用入口
├─ package.json  
├─ public  ===> 静态资源文件
│ ├─ images
│ ├─ javascripts
│ └─ stylesheets
│ └─ style.css
├─ routes  ===> http路由
│ ├─ index.js
│ └─ users.js
└─ views   ===> 视图模板 
├─ error.ejs
└─ index.ejs

代码分析

详细的代码分析请参考文章开头的 ‘express参考’ 中Web框架教程

  • app.js中的部分代码
// view engine setup , 设置视图模板的存储文件夹,以及指定模板库为ejs
app.set('views', path.join(__dirname, 'views')); // 指定试图模板的目录
app.set('view engine', 'ejs'); // 模板的引擎 ejs

Mongoose数据库

Mongoose是MongoDB对象建模工具。参考文档
Express支持多种数据库: 包括 PostgreSQL、MySQL、Redis、SQLite 和 MongoDB。
与数据库交互有两种方法

  • 使用数据库的原生查询语言(例如 SQL)
  • 使用对象数据模型(Object Data Model,简称 ODM)或对象关系模型(Object Relational Model,简称 ORM)。ODM / ORM 能将网站中的数据表示为 JavaScript 对象,然后将它们映射到底层数据库。一些 ORM 只适用某些特定数据库,还有一些是普遍适用的。
// 1. 安装mongoose
        npm install mongoose

注意: mongoose只是MongoDB的建模工具,我们需要安装MongoDB

debian10: debian10安装mongodb

mongoDB启动停止命令[debian10]

  • 启动: sudo systemctl start mongod

  • 状态: sudo systemctl status mongod

  • 停止: sudo systemctl stop mongod

  • 重启: sudo systemctl restart mongod

  • 连接: mongosh

需要使用的其他模块

fs 文件处理