I'm如何使用Node.js和表达对静态JavaScript文件用于单页的应用程序。 在Node.js的服务器代码,我用express.static允许公众访问的文件夹
app.use(express.static(__dirname + '/public/'));
在客户端,我用$.getScript
来获取存储在公用文件夹中的JavaScript文件,例如:
$.getScript("js/init.js");
当我试图获取有口音或某些UTF-8的特殊字符的字母一些JavaScript文件,我得到了奇怪的字符,而不是我想要的。
有什么办法来设置字符集时,我界定公共文件夹?
从回答什么是服务如何使用Node.js静态文件最简单的方法? 给了我之前的静态插入您自己的中间件的提示。
下面的代码查找*.js
的文件和设置字符集为UTF-8。
app.use(function(req, res, next) {
if (/.*\.js/.test(req.path)) {
res.charset = "utf-8";
}
next();
});
app.use(express.static(__dirname + '/public/'));
这样做了以后,看看以下响应报头。
Content-Type: application/javascript; charset=utf-8
在HTML页面中必须有同样的编码作为你的资源文件的编码(或者反过来)
请确保您设置的头部部分中的meta标签:
<meta charset='utf-8'></meta>