📅  最后修改于: 2023-12-03 15:33:12.666000             🧑  作者: Mango
在 Node.js 应用中,我们经常使用Express框架来构建Web应用程序。因此,我们需要用npm来安装Express和相关依赖模块。
如果你还没有Node.js,你可以去Node.js官网下载安装包来安装Node.js。下载并安装后,你可以在需要的地方使用node和npm命令。
使用mkdir命令创建一个新的项目目录,并在其中使用npm init命令来创建一个新的NPM项目。执行后需要按照提示一步一步地配置。
mkdir my-express-app
cd my-express-app
npm init
使用npm install命令来安装Express和相关依赖模块。在本例中,我们还将使用和安装以下依赖模块:
npm install express body-parser morgan express-handlebars
现在,我们已经安装了Express框架和相关依赖,让我们开始编写代码。在项目根目录下,创建一个名为 server.js 的文件,然后在其中编写以下代码:
const express = require('express');
const bodyParser = require('body-parser');
const logger = require('morgan');
const exphbs = require('express-handlebars');
const app = express();
const PORT = process.env.PORT || 3000;
// 设置视图引擎
app.engine('hbs', exphbs({ defaultLayout: 'main', extname: '.hbs' }));
app.set('view engine', 'hbs');
// 配置中间件
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
// 记录日志
app.use(logger('dev'));
// 处理请求
app.get('/', async (req, res) => {
try {
const result = await getDataFromServer();
res.render('index', { data: result });
} catch (error) {
res.status(500).send(error.message);
}
});
// 启动服务器
app.listen(PORT, () => {
console.log(`Server running on port ${PORT}`);
});
// 异步处理程序
async function getDataFromServer() {
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve('Hello World');
}, 2000);
});
}
在上面的代码中,我们使用了Express框架来构建应用程序。我们设置了一个视图引擎为 Express-Handlebars,然后使用 body-parser 中间件来解析 HTTP 请求体中的 JSON 和表单数据。我们还使用了 morgan 中间件来记录 HTTP 请求的日志。
我们定义了一个GET请求处理程序,它使用异步函数 getDataFromServer() 来从服务器异步获取数据。如果成功,我们将结果呈现为 index 模板,并将数据呈现给网页。
最后一步是启动您的应用程序。在命令行中,输入以下命令来启动应用程序:
node server.js
这将启动您的应用程序,使其在端口3000上运行。您可以在浏览器中访问 http://localhost:3000 来查看您的应用程序是否正确运行。