我有兴趣为优秀的three.js 3D库制作智能包。它基本上由数百个不同的JavaScript文件组成 - 其中只有几个可用于简单的应用程序。
AFAIK是一个智能包,使用add_files
回调中的Package.on_use
方法将其JavaScript文件推送到客户端。如果我要将整个库捆绑在智能包中,那么客户端是否有任何方法可以指定任何给定项目所需的组件,或者我是否必须为所需组件的每种可能排列设置单独的智能包?
答案 0 :(得分:4)
陨石和智能包API都不会直接支持这种AFAIK。
以下是三个选项:
如果这是供其他用户使用的,那么您可以在某个地方为用户组装一个包(请查看Boost在其网站上执行的操作)。
请勿使用智能套装。将所有JavaScript文件放在公共目录中,并使用jquery单独下载它们。
您可以将three.js项目拆分为多个智能包,将虚拟包放在packages
目录中,并使用api.use(...)
函数包含您需要的每个组件。
请记住,three.js已经在气氛中,如果你想到了以下想法,你应该避免在气氛中放入数百个相互关联的微小分包。
技术上add_files
是在运行服务器或部署之前添加要放入捆绑包中的文件,它不会直接将文件发送到客户端。