webstorm的pug自动生成的html出现乱码如何解决

问题现象

webstorm编辑的Pug文件,如果安装了 Pug和pug-cli,是可以自动生成对应的html文件的,具体方法可以自行上网搜“webstorm pug”。

但是,我用express框架生成的项目,编辑新的pug文件,如 test.pug,  生成的 test.html 在webstorm编辑器显示正确:

但用浏览器打开测试,中文显示乱码:

解决方法

经过多方分析发现,如果用webstorm新建一个html文件,会在head自动加入编码选项:

<meta charset="UTF-8">

用浏览器打开测试没有问题。

因此,解决方法是在express自动生成的layout.pug中,加入如下行:

meta(charset="UTF-8")

完整的layout.pug文件如下:

doctype html
html
  head
    title= title
    link(rel='stylesheet', href='/stylesheets/style.css')
    link(rel="stylesheet" href="/stylesheets/liMarquee.css")
    meta(charset="UTF-8")
  body
    block content

这样,所有其他引用了 layout.pug的pug文件,生成的html都会带 UTF-8的声明,浏览器显示就不会有问题了。

其他说明

如果不是直接用浏览器查看生成的html,而是在Node.js中看最终显示结果,即便在layout.pug中不声明UTF-8编码,中文显示都没有问题,貌似Node.js对编码会做一些处理。

然而,为了兼容性起见,还是加上这一行比较好吧。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值