gpt4 book ai didi

node.js - 使用 Express 从模板内部访问 mountpath 变量

转载 作者:太空宇宙 更新时间:2023-11-04 02:27:15 25 4
gpt4 key购买 nike

是否有一种干净、推荐的方法从模板内部访问挂载路径,以便快速应用程序可以独立运行,也可以作为另一个应用程序的一部分(通过 app.use)运行,并且路径都指向正确的目的地?

类似于:

{{mountpath}}route/to/file

因此,如果应用程序独立运行,则挂载路径将为 /,如果作为子模块运行,则挂载路径可能为 /foo/

注意:我使用的是 Handlebars 。

最佳答案

express.static 中间件负责为 Express 应用程序的静态 Assets 提供服务。它是如何工作的:

  • 从应用程序目录中的“public”目录为应用程序提供静态内容

    //GET/style.css 等

    app.use(express.static(__dirname + '/public'));

  • 仅当请求路径以“/static”为前缀时,才将中间件安装在“/static”处以提供静态内容

    //GET/static/style.css 等

    app.use('/static',express.static(__dirname + '/public'));

  • 从多个目录提供静态文件,但优先于“./public”

    app.use(express.static(__dirname + '/public'));

    app.use(express.static(__dirname + '/files'));

    app.use(express.static(__dirname + '/uploads'));

根据您的情况,您可以使用第二种情况,即;将文件挂载在路径“/static”上,因此 public 文件夹下的任何文件都可以通过 src='/static/filename.xyz' 访问创建一个名为 public 的文件夹,包含子文件夹 css、js、images或者,如果您希望将 css 安装在路径 /css 上,那么您可以这样做:

app.use('/css',express.static(path.join(__dirname, 'module1/css')));

现在您可以在整个应用程序中使用所有 css 文件:

 <link href="css/style.css" rel="stylesheet">

关于node.js - 使用 Express 从模板内部访问 mountpath 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29552397/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com