nodejs express 加载html模板

本文介绍如何在Node.js的Express框架中配置EJS模板引擎来渲染HTML文件,通过简单的步骤实现从默认的模板语言转换为更直观的HTML语法。
在nodejs中如使用express框架,她默认的是ejs和jade渲染模板。由于我在使用的时候觉得她的代码书写方式很不爽还是想用html的形式去书写,于是我找了使用了html模板。
直接上代码,主要的是在app.engine('.html', ejs.__express);app.set('view engine', 'html');这两句。

var http = require('http'),
express  = require('express'),
fs = require('fs'),
ejs = require('ejs'),
path = require('path'),
zmq = require('zmq'),//http://zeromq.org/
msgpack = require('msgpack');//解压缩模块
var app = express();
app.set('port', process.env.PORT || 1235);
app.set('views', __dirname + '/sunxu/views');
app.set('view engine', 'html');
app.engine('.html', require('ejs').__express);

app.use(express.favicon());
app.use(express.logger('dev'));
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(app.router);
app.use(express.static(path.join(__dirname, 'sunxu/public')));


if ('development' == app.get('env')) {
  app.use(express.errorHandler());
}
app.get('/', function(req, res){
res.render('index', {title:'paint title'});
});
app.get('/users', function(req, res){
res.render('users', {title: 'users member'});
});

var http_server = http.createServer(app).listen(app.get('port'), function(){
  console.log('Express server listening on port ' + app.get('port'));
});//创建服务器监听
使用 Express、Node.js 和 MySQL 构建项目,下面给出一个基本的项目模板示例。 ### 项目依赖 项目中需要用到的依赖包括 Node.js、mysql2、express。Node.js 作为 JavaScript 的运行环境为项目提供支持;mysql2 用于与 MySQL 数据库进行交互;express 是流行的 Node.js Web 框架,可帮助快速搭建 Web 应用[^1]。 ### 项目搭建步骤 #### 1. 初始化项目 在项目目录下执行以下命令初始化 `package.json` 文件: ```bash npm init -y ``` #### 2. 安装依赖 安装所需的依赖: ```bash npm install express mysql2 ``` #### 3. 配置 MySQL 连接 创建 `db.js` 文件用于配置 MySQL 连接: ```javascript const mysql = require('mysql2/promise'); const pool = mysql.createPool({ host: 'localhost', user: 'your_username', password: 'your_password', database: 'your_database', waitForConnections: true, connectionLimit: 10, queueLimit: 0 }); module.exports = pool; ``` #### 4. 创建 Express 服务器 创建 `server.js` 文件: ```javascript const express = require('express'); const db = require('./db'); const app = express(); // 解析 JSON 格式的请求体 app.use(express.json()); // 简单的查询接口示例 app.get('/data', async (req, res) => { try { const [rows] = await db.execute('SELECT * FROM your_table'); res.json(rows); } catch (error) { console.error(error); res.status(500).json({ error: 'Internal Server Error' }); } }); // 监听端口 const port = process.env.PORT || 3000; app.listen(port, () => { console.log(`Server running on port ${port}`); }); ``` ### 运行项目 在终端中执行以下命令启动服务器: ```bash node server.js ``` ### 代码解释 - `db.js` 文件中创建了一个 MySQL 连接池,方便后续与数据库进行交互。 - `server.js` 文件中引入了 Express 和数据库连接配置,创建了一个简单的路由 `/data` 用于查询数据库中的数据并返回给客户端。 ### 注意事项 - 需要将 `db.js` 文件中的 `your_username`、`your_password`、`your_database` 和 `your_table` 替换为实际的数据库用户名、密码、数据库名和表名。 - 可以根据实际需求添加更多的路由和功能。 ### 扩展功能 - 可以使用 ejs 模板引擎生成动态 HTML 页面,使用 mocha 对代码进行单元测试等[^1]。 ### 相关项目示例 在引用中也有相关的项目示例,如引用[3]中的示例代码展示了一个使用 Express 和 MySQL 的查询示例: ```javascript const express = require("express"); const db = require("./index"); const app = express(); app.get('/', (req, res) => { const sql = "select * from xxxxx"; db.query(sql, (err, result) => { if (err) { console.log(err); return; } console.log(result); return res.send({ state: 0, message: "查询成功", data: result }); }); }); app.all('*', (req, res) => { res.status(200) res.send('你要访问的资源路径不存在') }) app.listen(8080, () => { console.log("Server running at http://127.0.0.1:8080"); }); ``` 引用[4]展示了一个结合 Vue.js、Node.js、Express 和 MySQL 创建 CRUD 应用的后端示例: ```javascript const express = require("express"); const cors = require("cors"); const app = express(); var corsOptions = { origin: "http://localhost:3000" }; app.use(cors(corsOptions)); app.use(express.json()); app.use(express.urlencoded({ extended: true })); const db = require("./app/models"); db.sequelize.sync(); app.get("/", (req, res) => { res.json({ message: "欢迎来到我的应用!!!" }); }); require("./app/routes/user.routes")(app); const PORT = process.env.PORT || 9000; app.listen(PORT, () => { console.log(`服务器正在运行,端口为: ${PORT}.`); }); ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值