Node.js公共静态文件夹以UTF-8字符集服务js

我正在使用node.js并将静态JavaScript文件传递给单个页面应用程序。 在node.js服务器代码中,我使用express.static来允许公共访问文件夹

app.use(express.static(__dirname + '/public/')); 

在客户端,我使用$.getScript来获取存储在公共文件夹中的JavaScript文件,例如:

 $.getScript("js/init.js"); 

当我尝试获取一些带有重音符号或某些UTF-8特殊字符的JavaScript文件时,我会得到奇怪的字符,而不是我想要的。

当我定义公用文件夹时有什么方法可以设置字符集?

什么是使用node.js提供静态文件的最简单方法? 给了我一个静态插入你自己的中间件的提示。

下面的代码find*.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>