📅  最后修改于: 2023-12-03 15:30:41.690000             🧑  作者: Mango
ExpressJS-脚手架是一个功能强大的快速构建ExpressJS应用程序的工具。它帮助程序员快速搭建一个ExpressJS应用程序的基础框架,解决了ExpressJS应用程序搭建过程中的繁琐问题,让工程师更专注于业务代码的构建和实现。
通过npm安装ExpressJS-脚手架:
npm install express-generator -g
使用以下命令创建ExpressJS应用程序:
express <app-name>
其中<app-name>
是你想要创建的应用程序名称,例如:
express my-express-app
使用以上命令生成的默认目录结构如下:
.
├── app.js
├── bin
│ └── www
├── package.json
├── node_modules
├── public
│ ├── images
│ ├── javascripts
│ └── stylesheets
│ └── style.css
├── routes
│ ├── index.js
│ └── users.js
└── views
├── error.jade
├── index.jade
└── layout.jade
其中:
app.js
是应用程序入口。bin/www
是启动服务器的脚本。public
目录包含静态资源,如图片、样式和脚本文件。routes
目录包含了应用程序的路由。views
目录包含应用程序的视图。使用以下命令安装应用程序的依赖项:
cd <app-name> && npm install
此命令将会安装应用程序所需的所有依赖项,包括ExpressJS本身。
在应用程序目录中使用以下命令启动应用程序:
npm start
此命令将会启动服务器并且绑定到默认端口3000。
现在访问http://localhost:3000,您应该可以看到应用程序的主页。
以上方式创建的应用程序是一个基础应用程序,您需要根据具体需求进行修改和定制。
默认情况下,ExpressJS应用程序绑定到3000端口。要更改绑定的端口,请编辑bin/www
文件,找到以下行:
var port = normalizePort(process.env.PORT || '3000');
app.set('port', port);
将端口号3000替换为您想要使用的端口号。
要添加或者修改路由,您需要编辑routes
目录下相应的文件。
例如,要添加一个新路由/about
,可以创建一个新文件routes/about.js
,并添加以下代码:
var express = require('express');
var router = express.Router();
/* GET about page. */
router.get('/', function(req, res, next) {
res.render('about', { title: 'About' });
});
module.exports = router;
然后,您需要在app.js
文件中引入路由文件,并将其添加到应用程序中:
var indexRouter = require('./routes/index');
var usersRouter = require('./routes/users');
var aboutRouter = require('./routes/about'); // 新添加的路由文件
var app = express();
// ...
app.use('/', indexRouter);
app.use('/users', usersRouter);
app.use('/about', aboutRouter); // 注册新添加的路由
此时,您可以通过访问http://localhost:3000/about来访问新创建的路由。
默认情况下,ExpressJS-脚手架使用jade
模板引擎来渲染视图。
如果您想使用其他的模板引擎,您需要使用以下命令安装您想要使用的模板引擎:
npm install <template-engine> --save
例如,要使用ejs
模板引擎,您需要使用以下命令进行安装:
npm install ejs --save
然后,您需要编辑app.js
文件,找到以下行:
app.set('view engine', 'jade');
将jade
替换成您想要使用的模板引擎名称,例如:
app.set('view engine', 'ejs');
默认情况下,ExpressJS-脚手架会将静态文件存储在public
目录下。
要添加其他静态资源,您需要将它们放置在public
目录下,并确保ExpressJS-脚手架能够找到它们。
例如,如果您想将存储在/path/to/images
目录下的图片文件提供给应用程序,您可以将这些文件存储在public/images
目录下,并使用以下命令修改app.js
文件,将这个目录添加为静态文件目录:
app.use(express.static(path.join(__dirname, 'public')));
app.use('/images', express.static('/path/to/images'));
这里的/path/to/images
是实际存储图片文件的目录路径。
ExpressJS中间件是一种处理请求和响应的函数。中间件可以执行某些操作、转移控制权或修改请求或响应对象。
要添加中间件,您需要在app.js
文件中使用以下代码:
app.use(function(req, res, next) {
console.log('Time:', Date.now());
next();
});
这里的中间件将会打印当前时间,并通过调用next()
将请求传递给下一个中间件。如果您想将请求终止,并返回响应,您可以在中间件内部调用res.send()
或者res.render()
等方法。
ExpressJS-脚手架是一个非常有用的工具,可以帮助程序员快速搭建一个基础的ExpressJS应用程序框架。它封装了部分常用的操作,简化了应用程序搭建的过程,让工程师更专注于业务的实现。