gpt4 book ai didi

node.js - 设置express js静态文件并将它们包含在模板文件中

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

我已在 app.js 中将静态文件夹设置为公共(public)(在应用程序文件夹的根目录中)。但仍然是 Handlebars 布局文件在链接css文件时,无法在public文件夹中找到文件。

// app.js code:
// init app
var app = express();

// view engine
app.set('views',path.join(__dirname,'views'));
app.set('view engine','handlebars');
app.engine('handlebars',expressHandlebars({defaultLayout:'layout'}));

// middleware
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended:false}));
app.use(cookieParser());

// set static folder
app.set(express.static(path.join(__dirname,'public')));



handlebars layout file:
<link rel="stylesheet" type="text/css" href="css/bootstrap.min.css"/>

最佳答案

首先,您必须使用 robertklep 提到的绝对路径在评论中。

现在的问题是,您正在使用 app.set 这就是问题所在,您必须使用 .use 方法而不是 .set

现在关于如何构建目录,我建议分配一个像“/public”这样的目录路径来访问公共(public)文件。可以这样做:

//app.use not .set
app.use('/public', express.static(path.join(__dirname,'public')));
//see the first argument in above line it assigns which directory path is used to access the public file through URL

完成此操作后,您可以像这样访问所需的文件:

<link rel="stylesheet" type="text/css" href="/public/css/bootstrap.min.css"/>

关于node.js - 设置express js静态文件并将它们包含在模板文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44924671/

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