Node.js 如何在Express.js应用程序中设置多视图文件夹

Node.js 如何在Express.js应用程序中设置多视图文件夹,node.js,express,Node.js,Express,当我指定了一个视图文件夹时,它将提供文件服务,但当我在旁边指定第二个视图文件夹时,它不起作用。我试过很多东西,但都没有用。这是我的密码: app.use(express.static('views')) //app.set('views'、[\uu dirname+'/views'、\uu dirname+'/views/views2']) app.use(“/views”,express.static(“/views”) app.use(“/views2”,express.static(“/v

当我指定了一个视图文件夹时,它将提供文件服务,但当我在旁边指定第二个视图文件夹时,它不起作用。我试过很多东西,但都没有用。这是我的密码:

app.use(express.static('views'))

//app.set('views'、[\uu dirname+'/views'、\uu dirname+'/views/views2'])

app.use(“/views”,express.static(“/views”)

app.use(“/views2”,express.static(“/views2”)


app.set根本不起作用,因此我在这里对其进行了注释,最后两行也不起作用。

不清楚您想做什么。
视图
文件夹通常用作默认位置,用于查找与您尝试执行的操作不同的模板。因此,请准确描述您希望此代码执行的操作。显示输入请求URL,并显示要为该URL提供的文件以及该文件在文件系统中的位置。然后,如果您希望在文件系统中有多个位置,请显示这两个位置的示例。在文件夹中,我确实有ejs模板,因此我基本上只是尝试访问包含ejs文件的多个文件夹。例如,我的主页从“视图”文件夹获取其ejs(模板)和css文件,但我想知道如何拥有多个文件夹(目录)来为这些文件提供服务。这是允许我的应用程序访问我的视图的代码行,但每次我尝试添加具有不同目录名的新行时,应用程序都无法查找
app.use(express.static('views')
Well
express.static()
与调用
res.render()
来呈现模板无关。您将传递一个文件名,该文件名要么是绝对路径,要么是相对于您使用
app.set('views',someDir)
设置的目录。据我所知,模板系统不能在多个地方查看。您可以为
app.set('views',someDir)
设置父目录,然后使用
res.render('views1/someView.ejs')
res.render('views2/someOtherView.ejs')
访问其他目录。或者你可以构造完整的路径来传递
res.render()
express.static()
用于自动呈现静态HTML文件(而不是模板)。嗯,它可以为我的EJS文件提供有效的HTML服务。