Javascript 使用Nest设置两个不同的静态文件夹

Javascript 使用Nest设置两个不同的静态文件夹,javascript,node.js,typescript,express,nestjs,Javascript,Node.js,Typescript,Express,Nestjs,我想使用Nest为两个静态应用程序提供服务。基本上这意味着我有一个像 /public /admin /main 在我的巢里 app.useStaticAssets(join(__dirname, '..', 'public/main')); 现在如果我转到http://localhost:3000它将提供/public/main/index.html。但是,当我导航到http://localhost:3000/admin我想要/public/admin/index

我想使用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
中,但这会使我的构建过程复杂化,我觉得我需要的非常简单,因为在express中,您可以做到

app.use('/admin/*', app.useStaticAssets(join(__dirname, '..', 'public/admin')));
app.use(app.useStaticAssets(join(__dirname, '..', 'public/')))

类似这样的内容(未测试,但感觉正确:)

您可以使用
前缀
选项创建虚拟路径前缀:

app.useStaticAssets(join(__dirname, '..', 'public/admin'), {prefix: '/admin'});

非常感谢,这就成功了。你也有关于这个主题的文档的url吗?很高兴它对你有用。:-)我不认为这在文档中,我只是检查了
ServeStaticOptions
界面。代码文档非常好。好的,下次我会做的!