2

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

4

1 回答 1

2

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

如果您将一个名为my.pngin的文件放入lib/modules/mymodule/public/my.png,它就可以作为/modules/mymodule/my.png. 这是因为 Apostrophe 会/public/public/modules.

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

于 2017-03-10T13:17:07.400 回答