微信小程序插件开发在uni-app中如果.vue文件中没有style标签不会自动生成.wxss文件导致全局样式app.wxss也不会生效

微信小程序插件开发在uni-app中如果.vue文件中没有style标签不会自动生成.wxss文件导致全局样式app.wxss也不会生效

操作步骤:

见附件

预期结果:

见附件

实际结果:

见附件

bug描述:

我是用uniapp的cli方式开发。经过测试,微信小程序或插件中的页面,必须包含.wxss文件,全局的app.wxss才会生效。 若.vue文件中没有style标签,小程序打包结果中会带有一个空的wxss,而小程序插件则不会,导致全局样式失效。 详情见附件。

附件图片

Image 1 Image 2

信息类别 信息内容
产品分类 uniapp/小程序/微信
PC开发环境 Windows
PC操作系统版本 win10 22H2
第三方开发者工具 1.06
基础库版本 3.11
项目创建方式 CLI
CLI版本 3.0

更多关于微信小程序插件开发在uni-app中如果.vue文件中没有style标签不会自动生成.wxss文件导致全局样式app.wxss也不会生效的实战教程也可以访问 https://www.itying.com/category-93-b0.html

8 回复

更正一下测试结果,小程序插件中没有全局样式,全局样式必通过@import在每个wxss中引入。若.vue文件存在带有内容的style标签,uniapp会正确打包wxss并插入@import代码。但有时.vue文件可能不需要写style标签,例如我的项目主要是使用TailwindCSS,这时uniapp就不能正确打包了。

更多关于微信小程序插件开发在uni-app中如果.vue文件中没有style标签不会自动生成.wxss文件导致全局样式app.wxss也不会生效的实战教程也可以访问 https://www.itying.com/category-93-b0.html


你说的问题具体是指什么?页面没有 wxss 文件,wxml 使用到的 app.wxss 全局样式不生效?

小程序插件若想使用全局样式,必须要在wxss中手动引入。uniapp在插件开发模式下,只有style标签有内容的情况下,才会生成wxss,并在顶部注入@import app.wxss这样的代码。但如果.vue文件中没有style标签,或者style标签里面没有内容,打包的时候就不会生成wxss文件。我希望在没有style标签的时候,打包也能正确生成wxss。

回复 z***@163.com: 发个demo给我

回复 z***@163.com: 这里如果上传不成功,也可以在im中私聊我

回复 DCloud_UNI_JBB: 项目不太好发,怎么私聊啊,我给你演示一下

回复 z***@163.com: 做个简单的复现demo,https://im.dcloud.net.cn/index.html#/ 这里可以私聊我

这是一个已知的微信小程序插件开发限制。在uni-app中,如果.vue文件没有<style>标签,编译时不会生成对应的.wxss文件。对于小程序插件,缺少页面级.wxss文件会导致全局样式app.wxss无法生效。

解决方案:

  1. 在.vue文件中添加一个空的<style>标签:
<style>
/* 确保生成.wxss文件 */
</style>
  1. 或者添加任意样式规则:
<style>
page {
  /* 占位样式 */
}
</style>
回到顶部