glass-easel icon indicating copy to clipboard operation
glass-easel copied to clipboard

希望小程序环境支持将wxml、json、wxss、js四个文件合并为一个

Open ljianc opened this issue 1 year ago • 4 comments

我看这个框架本身是支持将这四类内容写在一个文件里的, 希望小程序环境也可以,四个文件切换来切换去的非常影响开发时间。 你们团队是否有权推动这个事?

ljianc avatar Nov 27 '24 13:11 ljianc

glass-easel 目前并不支持四合一。不过可以考虑支持,不会很难。

但在小程序上使用可能会麻烦一些。因为小程序代码需要在微信的服务器上编译,相对于 glass-easel 的纯开发阶段编译要更为复杂。

LastLeaf avatar Nov 28 '24 03:11 LastLeaf

需要说明的是 core 接口实际上并不是四合一。 core 接口实际上是底层逻辑,不涉及实际的文件目录结构,所以可以把代码组织成任意的样子。以目前视角看,这在小程序环境下是不可接受的,因为小程序的服务器端编译逻辑与 glass-easel 的 webpack 编译逻辑完全不同。即:

wxml/wxss/js/json -> [glass-easel-miniprogram-webpack-plugin] -> webpack bundle
wxml/wxss/js/json -> [小程序服务器端编译链路] -> 小程序代码包

如果需要支持四合一,需要在 glass-easel-miniprogram-adapter 和 glass-easel-miniprogram-webpack-plugin 的基础上,将已经分开的四个文件重新合并起来。即:

一种新的 component 格式文件 -> [新的编译链路] -> wxml/wxss/js/json -> [glass-easel-miniprogram-webpack-plugin] -> webpack bundle

(当然上述两步编译可以最终合并到同一个模块里面完成。)

LastLeaf avatar Nov 28 '24 04:11 LastLeaf

恰巧skyline项目也是在初始阶段,是否可以考虑推动从skyline开始支持四合一。 这个项目意义也主要是用于小程序,传统web开发估计没几个人会放弃react、vue来用这个。

ljianc avatar Nov 28 '24 05:11 ljianc

四合一并不容易实现。尤其对于小程序环境。

做出来应该已经是很久之后了。

LastLeaf avatar Nov 28 '24 09:11 LastLeaf