使用 Nest 设置两个不同的静态文件夹
Posted
技术标签:
【中文标题】使用 Nest 设置两个不同的静态文件夹【英文标题】:Setup two different static folders with Nest 【发布时间】:2019-06-25 19:29:58 【问题描述】:我想使用 Nest 服务于两个静态应用程序。基本上这意味着我有一个像
这样的公用文件夹/public
/admin
/main
我在窝里
app.useStaticAssets(join(__dirname, '..', 'public/main'));
现在,如果我转到 http://localhost:3000
,它将为 /public/main/index.html
提供服务。这很好,但是,当我导航到 http://localhost:3000/admin
我想要 /public/admin/index.html
一种解决方案是将/main
中的所有内容直接复制到public
中,但这会使我的构建过程复杂化,而且我觉得我需要的东西非常简单,因为在快递中你可以做到
app.use('/admin/*', app.useStaticAssets(join(__dirname, '..', 'public/admin')));
app.use(app.useStaticAssets(join(__dirname, '..', 'public/')))
类似这样的东西(未经测试,但感觉不错:))
【问题讨论】:
【参考方案1】:您可以使用prefix
选项来创建虚拟路径前缀:
app.useStaticAssets(join(__dirname, '..', 'public/admin'), prefix: '/admin');
【讨论】:
非常感谢,成功了。你也有关于这个主题的文档的网址吗? 很高兴它为您工作。 :-) 我不认为这是在文档中,我只是检查了ServeStaticOptions
接口。代码文档非常好。
好的,谢谢下次我会这样做!以上是关于使用 Nest 设置两个不同的静态文件夹的主要内容,如果未能解决你的问题,请参考以下文章
在 Nest.js 中,如何在我的 API 响应中提供与我的 JSON 对象捆绑在一起的静态内容文件
nest.js学习静态资源配置和模板引擎+服务Service+cookie+session
如何设置NGINX以根据位置(在相同的server_name下)部署不同的单页应用程序(SPA的...即静态文件)和子路由