我想在流星应用程序中捆绑来自各个目录的许多静态文件。我有一个不同于标准规定的文件夹结构。我在各种目录中都有静态文件,我使用webapp
为它们提供服务。这适用于我的机器上的dev,我可以通过C:\...
的路径直接访问它们。但是当捆绑应用程序时,这些文件将无法进入捆绑包。有什么方法可以告诉meteor它还应该捆绑这些目录吗?
我尝试实现模块的封装。因此每个模块都有自己的静态文件,每个模块都是在应用程序中运行所需的所有源文件和静态文件的包。静态文件需要在app文件夹中。我有一个Modules
目录,其中有Users
和Notes
等模块,每个模块都有自己的静态文件,可以通过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
文件夹或标准流星文件夹结构的任何文件夹。我已经定义了自定义文件夹结构,并考虑了封装的概念。我知道api.addAssets(filenames, architecture)
,但这只适用于AFAIK包。但这就是我想要的东西。我希望有可能编写一些在捆绑时运行的脚本,并为bundler提供包含哪些文件的信息。
谢谢。
使用meteor的/ private目录会阻止任何公共访问,并允许您捆绑应用程序代码。