NewFuture / miniprogram-build

A command line tool to build wechat MiniProgram. 微信小程序命令行构建工具
https://miniprogram-build.newfuture.cc
MIT License
58 stars 14 forks source link

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

Closed Hansuku closed 5 years ago

Hansuku commented 5 years ago

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

NewFuture commented 5 years ago

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

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

NewFuture commented 5 years ago

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

比如这个 prestart

{
        "prestart": "mp quit",
        "start": "mp"
}
Hansuku commented 5 years ago

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

NewFuture commented 5 years ago

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

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

npm i -D miniprogram-build@beta
Hansuku commented 5 years ago

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

NewFuture commented 5 years ago

什么系统?

Hansuku commented 5 years ago

什么系统?

MacOS

AnoLu commented 5 years ago

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

NewFuture commented 5 years ago

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

AnoLu commented 5 years ago

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

AnoLu commented 5 years ago

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

NewFuture commented 5 years ago

@AnoLu

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

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

AnoLu commented 5 years ago

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

NewFuture commented 5 years ago

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

@AnoLu 提供一下文件路径

AnoLu commented 5 years ago

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

NewFuture commented 5 years ago

@AnoLu 好的, 我确认一下

另外稳定重新么?

AnoLu commented 5 years ago

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

Hansuku commented 5 years ago

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

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

NewFuture commented 5 years ago

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

npm i miniprogram-build@beta
NewFuture commented 5 years ago

v6.8.6 发布了

AnoLu commented 5 years ago

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