在流星中捆绑自定义静态文件

Bundle custom static files in meteor

我想在 meteor 应用程序中捆绑来自不同目录的许多静态文件。我的文件夹结构与规定的标准不同。我在各种目录中都有静态文件,我使用 webapp 为它们提供服务。这适用于我机器上的开发人员,我可以通过 C:\... 中的路径直接访问它们。但是当应用程序被捆绑时,这些文件将不会进入捆绑包。有什么办法告诉流星它也应该捆绑这些目录吗?

我尝试实现一个模块的封装。因此每个模块都有自己的静态文件,每个模块都是应用程序中 运行 所需的所有源文件和静态文件的包。静态文件需要在应用程序文件夹内。我有一个 Modules 目录,其中有 UsersNotes 之类的模块,每个模块都可以有自己的静态文件,这些文件将由 url 访问,然后由节点 fs 访问, 但它们不是由 js 导入的。这就是他们不会进入捆绑包的原因。

文件被

使用
const realpath = path.normalize(base + filepath);
const data = fs.readFileSync(realpath);
res.writeHead(200, { "Content-Type": mime.lookup(realpath) });
res.write(data);
res.end();

其中filepath是根据url的函数计算出来的。

我明确不想使用 public 文件夹或任何标准 meteor 文件夹结构的文件夹。我已经定义了自定义文件夹结构,并考虑了封装的想法。我知道 api.addAssets(filenames, architecture) 但这仅适用于 AFAIK 包。但我猜这是我需要的东西。我希望有可能在捆绑时编写一些脚本 运行 并为捆绑器提供要包含哪些文件的信息。

谢谢。

使用 meteor 的 /private 目录会阻止任何 public 访问,并允许您捆绑应用程序代码。