我有兴趣为优秀的 three.js 3D 库制作一个智能包。它基本上由数百个不同的 JavaScript 文件组成——其中只有几个可以用于一个简单的应用程序。

AFAIK,一个智能包使用 add_files 回调中的 Package.on_use 方法将它的 JavaScript 文件推送到客户端。如果我要将整个库捆绑在一个智能包中,客户端是否有任何方法可以指定任何给定项目所需的组件,或者我基本上必须为所需组件的每个可能排列设置一个单独的智能包?

最佳答案

好吧,Meteorite 和智能包 API 都不会直接支持这个 AFAIK。

这里有三个选项:

  • 如果这是供其他用户使用,您可以在某处有一个页面为用户组装一个包(查看 Boost 在他们的网站上做了什么)。
  • 只是不要使用智能包。将所有 JavaScript 文件放在您的公共(public)目录中,并使用 jquery 单独下载它们。
  • 你可以将three.js项目拆分成多个智能包,在packages目录下放置一个虚拟包,使用api.use(...)函数将你需要的每个组件都包含进去。

  • 请记住,three.js 已经在大气中,如果以下想法出现在您的脑海中,您应该避免将数百个相互关联的微小子包放在大气中。

    从技术上讲,add_files 是在运行服务器或部署之前将文件添加到包中,它不会直接将文件发送到客户端。

    关于three.js - 整个图书馆的陨石智能包?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17508706/

    10-11 14:57