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

时间:2019-03-08 10:15:31

标签: 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是根据网址中的函数计算出来的。

我明确不想使用public文件夹或标准流星文件夹结构的任何文件夹。我在定义自定义文件夹结构时考虑到了封装的思想。我知道api.addAssets(filenames, architecture),但这仅适用于AFAIK软件包。但这是我猜到的。我希望可以编写一些在捆绑时运行的脚本,并为捆绑程序提供要包含的文件的信息。

谢谢。

1 个答案:

答案 0 :(得分:1)

使用流星的/ private目录将阻止任何公共访问,并允许您捆绑应用程序代码。