写篇文章让自己清楚egg——(1)egg起步

292 阅读2分钟

egg官网:eggjs.org/zh-cn/

node可以运行js,可以搭建简单的服务器,但是实际开发和学习js后端时我们并不会选择这种方式。

egg介绍

  • 官方:为企业级框架和应用而生——frameworks and apps with Node.js & Koa

  • 白话:运行在node上的用js编写的一种设计框架模式下的服务器。

为了搭建egg这个后端框架,我们通常使用的是egg的脚手架(自动项目结构生成)。

Eggjs 是阿里巴巴团队开发的,一个基于 Koajs 的框架,相当于二次封装,相比较 Koajs ,并没有那么高的自由度,但 Eggjs 这种带有规范性的开发更适合在企业中使用。

初始化egg项目

和官方提供给了终端指令一致:

npm init egg --type=simple

执行这条代码之前明确当前dos终端所在路径。

--报错情况

这种报错的原因是模块自身的bug,因为Program Files这个名字中出现空格,cache路径被使用时导致了bug。

npm ERR! code ENOLOCAL
npm ERR! Could not install from "Files\nodejs\node_cache\_npx\12468" as it does not contain a package.json file.
npm ERR! A complete log of this run can be found in:
npm ERR!     D:\Program Files\nodejs\node_cache\_logs\2021-09-16T01_19_39_532Z-debug.log
安装 [ 'create-egg@latest' ] 失败,错误代码:1

修改路径即可(只是改写名字,路径实际上是一样的)。
在终端执行下面的代码:

npm config set cache "D:\Program~1\nodejs\node_cache"

--下载依赖(模块)

执行下面代码,完成构建egg项目时为下载但是配置好的依赖和模块。(根目录下的package.json)

    npm i

注意创建后项目存放在init文件夹内,通过cd指令进入init目录地址,再使用npm i指令,因为init才是项目根目录,package配置文件在init中,而npm i就是根据package配置文件进行模块的下载安装。同时建议使用cnpm加快模块下载速度。

启动项目

初始好egg项目后我可以直接运行这个egg项目。

npm run dev

访问默认的地址和端口: http://localhost:7001

正常情况应该是:egg搭建的服务返回一个字符串“hi, egg”