• Koa学习1:初始化项目


    前言

    作为前端开发者,最适合我们的后端就是node了,node的框架挺多的。选择Koa是因为国内用的挺多的、关于这方面的教程也很多、而且比较适合小项目。

    学习教程是:【杰哥课堂】-项目实战-Node+Koa2从零搭建通用API服务

    写这些文章,更多的是当作自己的笔记,方便以后查看。

    项目初始化

    初始化项目

    npm init -y
    
    • 1

    进入到文件夹下创建.gitignoreREADME.md文件

    安装koa

    npm i koa
    
    • 1

    创建入口文件
    在项目根目录下创建main.js

    // 导入Koa
    const Koa = require("koa");
    // 实例化
    const app = new Koa();
    
    // 中间件
    app.use(async (ctx, next) => {
        const start = Date.now();
        await next();
        ctx.body = 'hellow koa';
      });
    
    // 监听端口
    app.listen(3000, () => {
            console.log(`app listening at http://localhost:3000`)
    });
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    设置启动命令
    package.json里设置启动命令

    "scripts": {
      "dev":"node main.js" // 入口文件的地址要写对
    },
    
    • 1
    • 2
    • 3

    在这里插入图片描述

    优化

    热重启

    保证代码修改后页面能够及时刷新。这里需要安装nodemon,安装到开发环境依赖里

    安装

    npm i nodemon -D
    
    • 1

    修改启动命令

      "scripts": {
        "dev": "nodemon main.js"
      },
    
    • 1
    • 2
    • 3

    设置配置文件

    dotenv

    dotenv是一个npm工具,它可以帮助我们在Node.js应用程序中加载环境变量。在开发过程中,我们经常需要使用敏感信息,例如数据库密码、API密钥等,这些信息不能直接暴露在代码中。dotenv可以让我们将这些敏感信息存储在一个名为.env的文件中,并在应用程序中使用process.env对象来访问这些变量。这样可以保护我们的敏感信息,同时也方便了我们在不同的环境中部署应用程序。

    安装

    npm i dotenv
    
    • 1

    创建配置文件
    在项目根目录下创建.env文件,编写.env文件必须遵守以下要求

    1. 变量名必须是大写字母,多个单词之间用下划线连接,例如:DB_HOST。

    2. 变量名和值之间使用等号(=)连接,例如:DB_HOST=localhost。

    3. 变量值可以是字符串、数字、布尔值等任何类型

    4. 如果变量值中包含空格或特殊字符,需要使用引号或双引号括起来,例如:DB_PASSWORD=“my password”。

    5. 如果需要在变量值中使用换行符或其他特殊字符,可以使用转义字符,例如:DB_PASSWORD=“my\npassword”。

    6. 如果需要在变量值中使用其他环境变量,可以使用 语法,例如: D B P A S S W O R D = " {}语法,例如:DB_PASSWORD=" 语法,例如:DBPASSWORD="{DB_USER}_password"。

    7. 如果需要注释.env文件中的某一行,可以在行首添加#符号,例如:# This is a comment。

    8. .env文件中的变量可以在应用程序中通过process.env变量访问,例如:const dbHost = process.env.DB_HOST。

    # 监听的端口
    APP_PORT = 3000
    
    • 1
    • 2

    配置文件
    src目录下创建一个config目录,用来保存一些配置
    在这里插入图片描述

    const dotenv = require('dotenv')
    // 从.env文件中加载环境变量到Node.js的process.env对象中
    dotenv.config()
    // dotenv默认加载.env文件,如果加载其他文件,比如.env.prod可以使用dotenv.config({ path: '.env.prod' })
    
    //console.log(process.env.APP_PORT)
    
    // 导出环境变量
    module.exports = process.env
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    main.js里加载该文件

    // 导入Koa
    const Koa = require('koa');
    
    // 导入环节变量
    const { APP_PORT } = require('./src/config/config.default');
    // 实例化
    const app = new Koa();
    
    // 中间件
    app.use(async (ctx, next) => {
      const start = Date.now();
      await next();
      ctx.body = 'hellow koa1';
    });
    
    // 监听端口
    app.listen(APP_PORT, () => {
      console.log(`app listening at http://localhost${APP_PORT}`);
    });
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
  • 相关阅读:
    C++ 类的非静态数据成员默认初始化
    基于纹理特征的kmeas聚类的图像分割方案
    LeetCode 805. 数组的均值分割
    暑假视力如何保护?护眼台灯可以保护视力
    用命令生成密钥
    Nautilus Chain上线主网,为DeFi和流支付的未来构建基础
    ngrok实现内网穿透window下,vue项目invalid host header报错
    go使用zap + lumberjack重构项目的日志系统
    物联网的常用几种协议
    如何实现延迟任务,这11种方式才算优雅!
  • 原文地址:https://blog.csdn.net/weixin_41897680/article/details/130907232