18.3.1日报

1,终于找到xp下运行不了vscode的原因,有中文路径。

node/lib/module.js里会遍历各种目录,然后加到Module.paths里。 然后electron.asar\renderer\init.js里也会增加一些目录 所以渲染进程的加载module,是会遍历各种目录的

vscode\out\bootstrap-amd.js里会转码再传给electron去load url。

问题的原因就在renderer\init.js里,这里会取window.location.pathname存到Module.paths里,

然后加载其他node模块时候用。然而这个pathname从blink里取出来是自带utf8编码的。也就是blink传给

v8,用的是单字节。实际上传给v8的字符串,如果是单字节会被认为是assci。所以一定要传2字节的。这样

nodejs从js里通过v8::String::WriteUTF8获取时才能正确识别。(这个过程在nodejs的默认js代码module.js里的stat函数)

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券