nodeJS写单页面路由跳转博客网站
时间: 2023-09-21 10:06:58 浏览: 99
NodeJS体系架构-单线程事件循环
1. 安装必要的依赖
在项目根目录下执行以下命令:
```
npm install express express-handlebars consolidate body-parser --save
```
2. 创建项目结构
在项目根目录下创建以下文件和文件夹:
```
- public/
-- css/
--- main.css
-- js/
--- main.js
- views/
-- layouts/
--- main.handlebars
-- home.handlebars
-- about.handlebars
- app.js
```
3. 编写代码
在 app.js 中编写代码:
```javascript
const express = require('express');
const bodyParser = require('body-parser');
const consolidate = require('consolidate');
const app = express();
// 设置模板引擎
app.engine('handlebars', consolidate.handlebars);
app.set('view engine', 'handlebars');
app.set('views', __dirname + '/views');
// 静态资源
app.use(express.static(__dirname + '/public'));
// 解析请求体
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());
// 路由
app.get('/', (req, res) => {
res.render('home');
});
app.get('/about', (req, res) => {
res.render('about');
});
// 404 页面
app.use((req, res) => {
res.status(404).send('Not Found');
});
// 启动服务器
app.listen(3000, () => {
console.log('Server is running at http://localhost:3000');
});
```
在 views/layouts/main.handlebars 中编写代码:
```html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>{{title}}</title>
<link rel="stylesheet" href="/css/main.css">
</head>
<body>
{{{body}}}
<script src="/js/main.js"></script>
</body>
</html>
```
在 views/home.handlebars 中编写代码:
```html
<h1>Home Page</h1>
<p>Welcome to my blog!</p>
```
在 views/about.handlebars 中编写代码:
```html
<h1>About Page</h1>
<p>This is a blog website built with Node.js.</p>
```
在 public/css/main.css 中编写代码:
```css
body {
font-family: Arial, sans-serif;
}
h1 {
color: #333;
}
p {
color: #666;
}
```
在 public/js/main.js 中编写代码:
```javascript
console.log('Hello, world!');
```
4. 运行项目
在命令行中执行以下命令:
```
node app.js
```
在浏览器中访问 http://localhost:3000,即可看到 Home Page 页面。
在浏览器中访问 http://localhost:3000/about,即可看到 About Page 页面。
如果访问不存在的路由,会显示 Not Found 页面。
阅读全文