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”。