问题描述
setup 脚本引入未使用的组件,编译不生成对应的组件js脚本,导致无法真机调试
复现步骤
- git clone https://github.com/yxw007/uniapp_issue.git
- git checkout ComponentDisplayIssus
- cd uniapp_issue
- yarn & yarn dev
预期结果
只要引入了对应组件就生成对应组件js脚本
实际结果
导致问题
系统信息:
- 发行平台: 微信小程序
- uni-app版本:3.0.0-alpha-3050120220706002(最新版也一样)
补充信息
4条答案
按热度按时间v64noz0r1#
没使用的组件就应该删除掉吧,为何还要保留着呢,
即使优化此问题,也应该是不生成json,wxml,wxss吧,而不是没使用,也把整个组件给生成了
jchrr9hc2#
没使用的组件就应该删除掉吧,为何还要保留着呢, 即使优化此问题,也应该是不生成json,wxml,wxss吧,而不是没使用,也把整个组件给生成了
假如:按着你的设个思路走,既然都不生成组件js代码,那么为什么不把引入组件(不使用)的代码也给treeshaking掉呢?导致需要上层开发者要去手动删除呢?
场景:项目正在开发中,快速调整代码注解代码是很正常的吧,如果需要一个一个去删会不会让人觉得挺烦人的?
建议:开发模式可以保留,生产模式就直接把未使用的组件不生成,相关引入代码也tree shaking掉,这样就完美啦
xxslljrj3#
简单点说就是:要么就都生成,要么就都不生成(连引入代码都删除掉)
pepwfjgg4#
还有一个问题,就是开发模式注解掉引入的组件,代码没有动态编译删除掉,需要重新遍历才可以