node.js学习笔记-快速搭建一个 Express 项目的基本骨架(一)

一、前言

express-generator是 Express 框架提供的一个应用程序生成器工具,它可以帮助你快速搭建一个 Express 项目的基本骨架,节省大量手动创建文件和配置的时间。

以下是关于它的详细介绍和使用步骤:

二、安装

首先,确保你已经安装了 Node.js 和 npm(通常在安装 Node.js 时会一并安装 npm)。然后,在全局范围内安装express-generator,可以通过以下命令进行安装:

js 复制代码
npm install -g express-generator

这里的-g参数表示全局安装,这样你就可以在任何目录下使用express-generator工具了。

三、使用步骤

1、创建项目骨架

在你想要创建 Express 项目的目录下,打开命令行工具,然后使用express-generator来生成项目骨架。例如,要创建一个名为my-express-app的项目,可以执行以下命令:

js 复制代码
express my-express-app

执行这个命令后,express-generator会在当前目录下创建一个名为my-express-app的新文件夹,并在其中生成一系列的文件和文件夹,这些构成了 Express 项目的基本框架。

express-generator 生成的项目通常具有以下典型的结构:

  • app.js:这是项目的核心文件,用于配置 Express 应用程序,包括设置中间件、定义路由等。
  • bin/www :这个文件主要负责启动服务器,它会加载 app.js 中的配置并监听指定的端口。
  • routes :这是一个文件夹,里面包含了各种路由文件,用于定义不同路径下的请求处理逻辑。例如,index.js 路由文件通常处理根路径 / 的请求。
  • views:这是一个文件夹,用于存放视图文件(如果项目使用视图模板引擎的话)。常见的视图模板引擎有 Ejade、Pug 等,不同的模板引擎对应不同格式的视图文件。
  • public:这是一个文件夹,用于存放公共资源,如样式表、脚本文件、图片等。

通过使用 express-generator,你可以快速上手 Express 项目的开发,并且可以根据项目的具体需求对生成的框架进行进一步的扩展和修改。

2、安装依赖

进入刚刚创建的项目文件夹:

js 复制代码
cd my-express-app

然后,安装项目所需的依赖项。因为express-generator只是生成了项目的框架,还没有安装实际运行项目所需的各种 Node 模块。在项目目录下执行以下命令来安装依赖:

js 复制代码
npm install

这会根据package.json文件中的配置,将项目所需的所有依赖包(如 Express 框架本身、各种中间件等)安装到项目的node_modules文件夹中。

3、启动项目

在安装完依赖后,就可以启动 Express 项目了。在项目目录下的命令行中执行以下命令:

js 复制代码
npm start

或者,如果你查看package.json文件,会发现start对应的脚本命令可能是node bin/www(这是express-generator生成的默认启动方式),所以你也可以直接执行:

js 复制代码
node bin/www

项目启动后,默认会在本地的3000端口监听请求。如果一切正常,你应该能看到 Express 框架的默认欢迎页面。

Express 框架的默认欢迎页面

如果我在public文件路径下增加html/index.html

你可以在浏览器中输入http://127.0.0.1:3000/html/index.html来访问项目,可以看到自定义的页面index.html

html/index.html

相关推荐
UQWRJ32 分钟前
菜鸟教程R语言一二章阅读笔记
开发语言·笔记·r语言
YGY Webgis糕手之路3 小时前
OpenLayers 综合案例-轨迹回放
前端·经验分享·笔记·vue·web
遇见尚硅谷4 小时前
C语言:*p++与p++有何区别
c语言·开发语言·笔记·学习·算法
艾莉丝努力练剑5 小时前
【数据结构与算法】数据结构初阶:详解排序(二)——交换排序中的快速排序
c语言·开发语言·数据结构·学习·算法·链表·排序算法
jz_ddk5 小时前
[HarmonyOS] 鸿蒙LiteOS-A内核深度解析 —— 面向 IoT 与智能终端的“小而强大”内核
物联网·学习·华为·harmonyos
试着5 小时前
零基础学习性能测试第五章:Tomcat的性能分析与调优-Tomcat原理,核心配置项,性能瓶颈分析,调优
学习·零基础·tomcat·性能测试
老虎06276 小时前
JavaWeb(苍穹外卖)--学习笔记13(微信小程序开发,缓存菜品,Spring Cache)
笔记·学习·微信小程序
koooo~6 小时前
node.js中的fs与path模块
node.js
@蓝莓果粒茶7 小时前
LeetCode第350题_两个数组的交集II
c++·python·学习·算法·leetcode·职场和发展·c#
无名工程师7 小时前
AI 学习过程中各阶段的学习重点、时间规划以及不同方向的选择与建议等内容
人工智能·学习