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

时间:2019-02-01 08:42:34

标签: 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.html

一种解决方案是将/main中的所有内容直接复制到public中,但这会使我的构建过程变得复杂,而且我觉得我需要的很容易,因为在表达上您可以做

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

类似这样的东西(未经测试,但感觉不错:))

1 个答案:

答案 0 :(得分:1)

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

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