如何在数据库外提供静态内容?

how to serve static content outside the db?

我正在尝试弄清楚如何在模块中推送静态文件,如 svg 或图像,而不必将其放入数据库中。 我创建了一个简单的模块,它使用 self.apos.app.get 和 pushAssets 定义路由我发送 js 和 css 来呈现模板,但是如何提供 css 中定义的图像或 svg ?我可以将它们放在 prj_root/public 中,但我不确定是否可以这样做。 我尝试输入 my_module/public 但没有找到

如果您将名为 my.png 的文件放入 /public/images/my.png,则它可以作为 /images/my.png 访问。这是因为 Apostrophe 为 /public 文件夹设置了 express.static 中间件。

如果您将名为 my.png 的文件放入 lib/modules/mymodule/public/my.png,则它可以作为 /modules/mymodule/my.png 访问。这是因为撇号从 /public/modules.

中每个模块的 /public 文件夹建立符号链接

(当 运行 在 Windows 上时,Apostrophe 会在启动时将文件复制到那里,为了获得微小的性能提升,我们最终可能会在 Linux 的生产环境中这样做,但是无论哪种方式,结果都是一样的。)