Skip to content
This repository was archived by the owner on Dec 29, 2022. It is now read-only.

大型项目打包时 wxss 概率丢失 #47

Closed
Hansuku opened this issue Sep 25, 2019 · 21 comments
Closed

大型项目打包时 wxss 概率丢失 #47

Hansuku opened this issue Sep 25, 2019 · 21 comments
Labels
bug Something isn't working

Comments

@Hansuku
Copy link

Hansuku commented Sep 25, 2019

现在差不多打包后的文件有 140 个 但是每次build 的都能少那么几个页面的 wxss 之前有说过是微信开发者工具锁文件 所以打包的时候都是关了开发者工具打的 但是还是会丢文件。。

@NewFuture
Copy link
Owner

开发工具处理的问题,正在和小程序那边沟通。

暂时可以保存一下任意一个wxss触发开发工具的样式重新编译解决

@NewFuture
Copy link
Owner

在build之前关闭开发工具,能减小这个问题的发生

比如这个 prestart

{
        "prestart": "mp quit",
        "start": "mp"
}

@Hansuku
Copy link
Author

Hansuku commented Sep 28, 2019

这个我试了呀 打包的时候是关了开发者工具来的 但是还是丢。。目前依靠打包的时候哪些丢了 就去同事电脑上 run dev 然后把 wxss 发给我拷贝进去 如果是开发工具的问题 我能否依靠在打包的时候 直接 kill 掉开发者工具的进程来解决?

@NewFuture
Copy link
Owner

原因是 开发工具在watch wxss文件处理有问题。

现在 workaround 是在重新编译项目之前关闭开发工具,尽量避免这个问题, beta 版在dev之前自动运行quit(延时也加长了)
试试beta版的

npm i -D miniprogram-build@beta

@Hansuku
Copy link
Author

Hansuku commented Sep 28, 2019

image
这边还有个问题,我这边装了 "miniprogram-build": "^6.8.0" 以后 我这边是正常的 推到同事电脑以后 npm run start 提示找不到开发者工具 我们尝试了重装开发者工具、重装依赖,都没有效果。。
npm run start 用的是这个:"start": "mp --config env/dev.jsonc",

@NewFuture
Copy link
Owner

什么系统?

@Hansuku
Copy link
Author

Hansuku commented Sep 28, 2019

什么系统?

MacOS

@AnoLu
Copy link

AnoLu commented Oct 24, 2019

今天用了最新版的代码编译,一样会有部分wxss文件丢失,而且是后面的一些文件夹丢失,前面的都是正常的

@NewFuture
Copy link
Owner

@AnoLu 是在开发工具上看不见?

@AnoLu
Copy link

AnoLu commented Oct 24, 2019

在dist文件夹里就没有了,貌似是没有编译出来。源wxss路径是src/xx/xx/xx.wxss,但是编译后响应喝点路径dist/xx/xx这个目录下只有js,jason,wxml就是少了wxss,这个目录是比较靠后的,靠前的目录都是完整的

@AnoLu
Copy link

AnoLu commented Oct 25, 2019

wxss文件丢失的问题有在看吗?有什么workaround吗?

@NewFuture
Copy link
Owner

@AnoLu

wxss文件丢失的问题有在看吗?有什么workaround吗?

这个目前发现的是开发工具中有概率看不到wxss(开发工具watch机制实现上暂时有缺陷),但是实际上在输出目录中是存在的,两种方法可以workaround:

  • 重启开发工具
  • 或者任意保存一个wxss文件触发开发工具的样式文件重新编译

@AnoLu
Copy link

AnoLu commented Oct 25, 2019

我这边看到的情况不是这样的哦。在输出目录并没有看到丢失的文件,而且我还特意看了控制台,也没有编译丢失的文件的日志输出。你说的这两种workaround都试过了,还是不行,而且每次都是从特定的wxss文件开始丢失的

@NewFuture
Copy link
Owner

我这边看到的情况不是这样的哦。在输出目录并没有看到丢失的文件,而且我还特意看了控制台,也没有编译丢失的文件的日志输出。你说的这两种workaround都试过了,还是不行,而且每次都是从特定的wxss文件开始丢失的

@AnoLu 提供一下文件路径

@AnoLu
Copy link

AnoLu commented Oct 25, 2019

src/pages/store/gift.wxss
src/pages/user/points.wxss
......
src/styles/config/weiui.wxss
等等。像这样的四级路径结构就容易丢失wxss文件

@NewFuture
Copy link
Owner

@AnoLu 好的, 我确认一下

另外稳定重新么?

@AnoLu
Copy link

AnoLu commented Oct 28, 2019

很稳定,我试了6次,只有一次丢失的起点是不一样的,其他五次丢失起点都是一样的

@Hansuku
Copy link
Author

Hansuku commented Oct 29, 2019

在dist文件夹里就没有了,貌似是没有编译出来。源wxss路径是src/xx/xx/xx.wxss,但是编译后响应喝点路径dist/xx/xx这个目录下只有js,jason,wxml就是少了wxss,这个目录是比较靠后的,靠前的目录都是完整的

这个我也遇到过 你点一下他就没了那个应该是工具卡了 其实文件已经没了 但是没更新过来而已。。另外问下你是用什么开发的?vscode 应该会这样显示错误

@NewFuture NewFuture added the bug Something isn't working label Oct 29, 2019
NewFuture added a commit that referenced this issue Oct 29, 2019
@NewFuture
Copy link
Owner

这个地方有个BUG,@AnoLu 用beta版的试一下

npm i miniprogram-build@beta

@NewFuture
Copy link
Owner

v6.8.6 发布了

@AnoLu
Copy link

AnoLu commented Nov 7, 2019

非常感谢跟进,现在我更新之后编译都是正常的,目前还没有发现问题

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants