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

相关推荐
奶香臭豆腐19 分钟前
C++ —— 模板类具体化
开发语言·c++·学习
j喬乔24 分钟前
Node导入不了命名函数?记一次Bug的探索
typescript·node.js
波音彬要多做1 小时前
41 stack类与queue类
开发语言·数据结构·c++·学习·算法
m0_748256782 小时前
WebGIS实战开源项目:智慧机场三维可视化(学习笔记)
笔记·学习·开源
红色的山茶花2 小时前
YOLOv9-0.1部分代码阅读笔记-loss.py
笔记
z千鑫2 小时前
【前端】入门指南:Vue中使用Node.js进行数据库CRUD操作的详细步骤
前端·vue.js·node.js
南七澄江3 小时前
各种网站(学习资源及其他)
开发语言·网络·python·深度学习·学习·机器学习·ai
胡西风_foxww4 小时前
【es6复习笔记】Promise对象详解(12)
javascript·笔记·es6·promise·异步·回调·地狱
小马哥编程7 小时前
原型链(Prototype Chain)入门
css·vue.js·chrome·node.js·原型模式·chrome devtools
机智的叉烧9 小时前
前沿重器[57] | sigir24:大模型推荐系统的文本ID对齐学习
人工智能·学习·机器学习