wxapp-webpack-plugin icon indicating copy to clipboard operation
wxapp-webpack-plugin copied to clipboard

组件死循环和wxss文件引用问题

Open YangTingWei opened this issue 7 years ago • 6 comments

你好, 1.我在使用过程中,发现组件互相引用的话,会出现死循环的现象。我在下面这个地方做了个判断,防止了死循环

qq20180703-093943 2x

2.在编译wxss文件(A)时,如果引用了另外的wxss文件(比如我有个公用字体库B),那么他是直接将复制到A文件中,造成了非常大量的重复代码。请问下我如何修改才能改成是相对引用,而不是复制代码呢?

3.我修改了代码,支持subpackage的加载。 qq20180703-095519 2x

YangTingWei avatar Jul 03 '18 01:07 YangTingWei

@YangTingWei 感谢!

问题 1、3 欢迎提交 PR,我会尽快跟进你的 PR。如果不急,我迟点再更新,现在在忙其他项目。

问题 2,原因是如果你使用了 sass 或之类的预处理工具,会自动把 @import 内联到 wxss 里面。我想到的解决方案是,假设你用的是 sass,你可以通过把 @import "./common.scss" 改为 @import "./common.css",这样 sass 将不会内联 .css 的文件。我在 https://github.com/cantonjs/wxapp-boilerplate/issues/30 创建了这个相关的 issue,迟点会着手解决一下

Cap32 avatar Jul 03 '18 11:07 Cap32

非常感谢你的回复,我用的是wxss的,所以我可能还要去试下有没有办法解决。因为我的代码比较渣,目前还是等官方更新吧,代码就截图上那点东西而已。谢谢up主

YangTingWei avatar Jul 03 '18 11:07 YangTingWei

up主,关于第二点wxss,我还是找不到解决方案,有没有比较好的建议呢?我import的不是sass文件,主要是wxss文件

YangTingWei avatar Jul 06 '18 07:07 YangTingWei

有同样的2问题,应该是sass的语法特性导致import导致内联,我目前的解决方法样式含@import的文件改成wxss文件并不做sass-loader处理。

anota avatar Sep 20 '18 12:09 anota

使用less 可以用 @import (css) "/style/common.wxss"; 引入,sass没找到好的方式

XLinzexin avatar Sep 30 '18 07:09 XLinzexin

新建一个文件用于引用 wxss 和 scss 文件。 比如 page/index 可以建一个文件 index.wxss 和 style.scss,在 style.scss 文件中只引用定义变量,函数等的文件就好,不要引用其他文件,在index.wxss 中引用页面需要的文件和 style.scss

@anota @YangTingWei

realywithoutname avatar Oct 06 '18 08:10 realywithoutname