【发布时间】:2019-12-14 05:07:01
【问题描述】:
我在我的 nodeJS 中使用 express 和 hbs 模块。 我正在尝试使用 res.render() 方法呈现我的视图。问题是,我的视图在没有 css 的情况下加载,因为 css 文件链接通过 express 并且不满足 app.get() 方法 中定义的任何 URL。所以我想知道,如果我尝试加载的视图包括链接到文件夹或 URL 的图像、css 和 JS 文件,我如何使用其链接文件呈现我的视图?
我的目录:
index.js
资产 / [css , 图片 , js] /
视图/部分/
我的 index.hbs 位于视图 (views/index.hbs) 中,加载时没有问题,但也没有链接的 css 文件
我尝试过的方法:
我在网络和堆栈溢出中搜索了我的答案,但我没有遇到任何问题。我曾尝试使用文件系统方法来读取文件并输出它们,或者试图寻找一些方法来做到这一点,但我没有找到任何答案。
我的 index.js:
const path = require("path");
const express = require("express");
const app = express();
const hbs = require("hbs");
app.set("view engine", "hbs");
app.use(express.static(path.join(__dirname, "./assets/")));
hbs.registerPartials(path.join(__dirname, "views/partials"), err => {
if (err) {
console.log(err);
}
});
app.get("/", (req, res) => {
res.render("index");
});
app.listen(3000, err => {
if (err) {
console.log(err);
}
});
我收到的错误:
index.hbs 是在没有 css 的情况下加载的,当我单击页面源中的 css 链接时,我看到了这个 -->
无法获取 /assets/css/main.css
所以如果有人能告诉我如何解决这个问题,我将不胜感激?
(我几乎是 NodeJS 的初学者)
【问题讨论】:
标签: node.js express partials express-handlebars