We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
在跟踪 #2254 问题时想看下为啥引入的 less 文件变化时没有重新编译,发现有如下问题:
第一个是,wxs 被解析时会改变 wpy 文件的缓存 hash。
我看到源码中 @wepy/cli/core/plugins/parser/wxs.js 这个文件里有这样写:
@wepy/cli/core/plugins/parser/wxs.js
这样会导致 @wepy/cli/core/plugins/parser/wpy.js 中关于文件 hash 一致的判断失效,所以 #2254 中描述的——“当 wpy 文件里有 wxs 时,改变被引入的 less 文件会重新编译;当没有 wxs 时,则改变 less 没有效果”这一现象会出现。但这里有问题的就是 wxs 的解析改变了文件缓存的 hash,那么这些有 wxs 的文件缓存就全部无效了,每次都会重新编译。
@wepy/cli/core/plugins/parser/wpy.js
第二个是,看到在 @wepy/cli/core/compile.js 文件的 watch() 方法中,有关于清除编译缓存 hash 的代码:
@wepy/cli/core/compile.js
watch()
看变量的命名判断,貌似是根据被改变文件找到涉及文件,并清除涉及文件的 hash 使之能重新编译。但从调试的情况来看,this.involved 这个 map 里的 value 值都是 1,并不会执行到清除 hash 的代码?
this.involved
1
按我的理解,像 less 这种有可能会被多个 wpy 文件引用,所以引用关系 involved 需要是一个数组来记住,等待 less 发生变化时清除这些 wpy 文件的缓存 hash。因为不知道作者的设计思路所以也不好瞎猜,希望作者能说明一下设计思路或者给一些文档,这样大家也好 PR 哈。@Gcaufy
involved
The text was updated successfully, but these errors were encountered:
最后,非常感谢你的耐心研究,也期待你的PR。 有问题可以在群里直接跟我讨论。
Sorry, something went wrong.
fix(cli): fixed wxs file hash bug
e71b8d8
BREAKING CHANGE: compile cache re #2279
No branches or pull requests
在跟踪 #2254 问题时想看下为啥引入的 less 文件变化时没有重新编译,发现有如下问题:
第一个是,wxs 被解析时会改变 wpy 文件的缓存 hash。
我看到源码中
@wepy/cli/core/plugins/parser/wxs.js
这个文件里有这样写:这样会导致
@wepy/cli/core/plugins/parser/wpy.js
中关于文件 hash 一致的判断失效,所以 #2254 中描述的——“当 wpy 文件里有 wxs 时,改变被引入的 less 文件会重新编译;当没有 wxs 时,则改变 less 没有效果”这一现象会出现。但这里有问题的就是 wxs 的解析改变了文件缓存的 hash,那么这些有 wxs 的文件缓存就全部无效了,每次都会重新编译。第二个是,看到在
@wepy/cli/core/compile.js
文件的watch()
方法中,有关于清除编译缓存 hash 的代码:看变量的命名判断,貌似是根据被改变文件找到涉及文件,并清除涉及文件的 hash 使之能重新编译。但从调试的情况来看,
this.involved
这个 map 里的 value 值都是1
,并不会执行到清除 hash 的代码?按我的理解,像 less 这种有可能会被多个 wpy 文件引用,所以引用关系
involved
需要是一个数组来记住,等待 less 发生变化时清除这些 wpy 文件的缓存 hash。因为不知道作者的设计思路所以也不好瞎猜,希望作者能说明一下设计思路或者给一些文档,这样大家也好 PR 哈。@GcaufyThe text was updated successfully, but these errors were encountered: