微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – Node.js公共静态文件夹,用于提供带有utf-8字符集的js

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

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

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

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

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

在定义公用文件夹时有没有办法设置charset?

解决方法:

What’s the simplest way to serve static files using node.js?的答案给了我一些在静态之前插入自己的中间件的暗示.

下面的代码找到* .js文件并将charset设置为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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐