问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

nodejs中ejs宓膖itle乱码怎么办

发布网友 发布时间:2022-04-20 13:46

我来回答

2个回答

懂视网 时间:2022-04-20 18:08

前言:
如果所有的前端页面都需要自己拼装成HTML字符串之后打印给前台,那么对开发人员来说无疑是很大的工作量,因此,就需要使用前端模板,把关注的重心集中到前端的数据上,类似于PHP,JSP等web动态语言。

模板选择:

由于是团队协作,为了降低学习成本,我选择了EJS,类似于PHP和JSP的开发,熟悉这个的人,就大大的提高了效率。

启动webapp 页面
[javascript] view plain copy
var express = require("express"); 
var http = require("http"); 
var app = express(); 
 
////////////////////// 设置模板 ///////////////////////////// 
var ejs = require("ejs"); 
//使用set方法,为系统变量“views”和“view engine”指定值。 
app.set("views", __dirname + "/views"); 
// 指定模板文件的后缀名为html 
app.set('view engine', 'html'); 
// 运行hbs模块 
app.engine('html', ejs.__express); 
 
////////////////////// 利用文件来拆分路由的规模 ///////////////////////////// 
var router = express.Router(); 
var router1 = require('./routes/router1'); 
var router2 = require('./routes/router2'); 
var router3 = require('./routes/router3'); 
var testRouter = require('./routes/test/test'); 
 
 
//设置web工程的根目录 
app.use(express.static(__dirname + '/')); 
app.use('/router1', router1); 
app.use('/router2', router2); 
app.use('/router3', router3); 
app.use('/test', testRouter); 
 
 
http.createServer(app).listen(3000); 
控制器routes/router1.js
[javascript] view plain copy
var express = require('express'); 
var router = express.Router(); 
 
/* GET home page. */ 
router.get('/a', function(req, res, next) { 
 res.render('router1/index', { name: 'Express 路由1' }); 
}); 
 
module.exports = router; 
模板页面views/router1/index.html
[html] view plain copy
<!DOCTYPE html> 
<html lang="zh-CN"> 
<head> 
 <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"> 
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
 
 <script src="../../public/js/jquery.min.js"></script> 
 <script src="../../public/js/hb_common.js"></script> 
 <link rel="stylesheet" href="../../public/css/bootstrap.min.css"> 
 <link rel="stylesheet" href="../../public/css/hb_wap.css"> 
 <title>黄彪测试nodejs模板</title> 
</head> 
<body > 
 
<button class="btn btn-primary" id="btn"> <%= name %>_post</button> 
 
</body> 
</html>

热心网友 时间:2022-04-20 15:16

在ejs模板里添加上面那句话没问题,但如果引用某个js,这个js里alert中文,那么这个中文就变成乱码了,这是怎么回事呢?页面上设置了utf-8编码的,引入的js文件也是utf-8格式的
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
抖音无人机如何收益 谁知道人力资源关于招聘方面要从哪里入手啊?还有就是培训这块有什么好的... 现在去招聘会找工作太冷了,还有没有其他更方便的途径啊? (活色生香)里乐颜是不是失去嗅觉了?是怎么失去了? ...已经被河北金融学院录取,想知道金院的录取通知书什么时候开始下发... 贵州考生何时才能收到河北金融学院专科的录取通知书 河北金融学院录取通知书里装什么东西 苏州工业园区社保缴费比例是多少 苏州园区乙类社保怎么? 梦幻西游怎么样在交易的时候改变钱的颜色...?高手请教!!! 福建连江县浦口镇天气预报 汕头市谷饶镇每小时的天气预报 活虾的做法,酥炒活虾怎么做好吃,酥炒活虾的家常做法 酒能带上动车吗 动车上能带白酒吗? 酒能带上高铁吗 把图片加音乐做成视频的软件? 你好,东风本田crv挡风玻璃多少钱 东风本田CRV三角玻璃多少钱一块 本田crv后门三角玻璃多少钱 本田crv后备箱侧玻璃多少钱 东风本田crv前当风玻璃多少钱,是钢化的吗 本田crv2012款后侧门玻璃多少钱 东风本田crv驾驶室驾驶室车窗玻璃要多少钱 新款2015本田crv前档风玻璃多少钱? 第一代本田crv后玻璃多少钱 crv前右窗玻璃多少钱 2014年成考报名时间及地址? 怎么用塑料做桥 电脑微信如何搜索加好友 敲是什么动物 敲字解释什么生肖 敲山震虎打一生肖? 问:“和尚敲钟三更起”打一动物 鼻子朝天,嘴巴朝地。敲它一下,惊天动地。(打一动物) 空中来去飞云高 二月春风似剪刀 莺歌燕舞唱流水 丸大无穷把鼓敲 打一动物 夜半钟声敲三下打一动物 旁敲侧击。猜一动物 吃斋和尚敲木鱼 打一个动物。 敲猜一生肖 旁敲侧击的动物,猜一生肖 击王敲金打一生肖? 敲山震虎猜一生肖 旁敲侧击,猜一生肖 敲敲打打听听 专捉树上害虫 诊断医术高明 人称森林医生 打一什么动物 对于吃鸡蛋的说法有不少,那么鸡蛋最有营养的吃法是什么? 女生说不要太想我啦是啥意思 一个女生对一个男生说 不要太想我是什么意思!!? 女生说不要太想我什么意思 鸡蛋有哪些吃法?你觉得哪种吃法最能保存鸡蛋的营养?