Koa学习1:初始化项目

前言

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

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

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

项目初始化

初始化项目

npm init -y

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

安装koa

npm i koa

创建入口文件
在项目根目录下创建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`)
});

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

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

Koa学习1:初始化项目_第1张图片

优化

热重启

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

安装

npm i nodemon -D

修改启动命令

  "scripts": {
    "dev": "nodemon main.js"
  },

设置配置文件

dotenv

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

安装

npm i dotenv

创建配置文件
在项目根目录下创建.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

配置文件
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

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}`);
});

你可能感兴趣的:(Koa,Koa)