css 个文件未使用 express-handlebars 找到
css files not found using express-handlebars
我正在使用 express-handlebars 呈现一些 html 页面。浏览器找不到我链接到的 css 文件。
这是我的服务器文件的样子:
const express = require('express');
const exphbs = require('express-handlebars');
const path = require('path');
const _ = require('lodash');
const bodyParser = require('body-parser');
const socketIO = require('socket.io');
const http = require('http');
var static = require('node-static');
var {mongoose} = require('./db/mongoose.js');
var {User} = require('./models/user');
const publicPath = path.join(__dirname, '../public');
var app = express();
app.engine('handlebars', exphbs({defaultLayout: 'main'}));
app.set('view engine', 'handlebars');
var server = http.createServer(app);
var io = socketIO(server);
const port = process.env.PORT || 3000;
app.use('/', express.static(publicPath));
app.use(bodyParser.json());
app.get('/', (req, res) => {
res.render('home');
});
这就是我在主布局上设置 url 格式的方式:
<link rel="stylesheet" href="views/assets/bootstrap/css/bootstrap.min.css">
资产文件夹位于视图文件夹的根目录中。我该如何解决这个问题?
编辑:这是我的目录结构。
更改您的静态路径。
const publicPath = path.join(__dirname, '../views');
此外,更改 html
文件中的 href
<link rel="stylesheet" href="/assets/bootstrap/css/bootstrap.min.css">
如果以下是您的 static 文件夹,如您指定的那样表示
app.use(express.static(path.join(__dirname,'/public/')))
预期的 css 文件是 bootstrap.min.css ;存在于 public 文件夹内的根目录下,然后在 *.handlebar 内,以下是您的 css 文件[=的路径12=]
<link rel="stylesheet" type="text/css" href="./bootstrap.min.css" />
我正在使用 express-handlebars 呈现一些 html 页面。浏览器找不到我链接到的 css 文件。 这是我的服务器文件的样子:
const express = require('express');
const exphbs = require('express-handlebars');
const path = require('path');
const _ = require('lodash');
const bodyParser = require('body-parser');
const socketIO = require('socket.io');
const http = require('http');
var static = require('node-static');
var {mongoose} = require('./db/mongoose.js');
var {User} = require('./models/user');
const publicPath = path.join(__dirname, '../public');
var app = express();
app.engine('handlebars', exphbs({defaultLayout: 'main'}));
app.set('view engine', 'handlebars');
var server = http.createServer(app);
var io = socketIO(server);
const port = process.env.PORT || 3000;
app.use('/', express.static(publicPath));
app.use(bodyParser.json());
app.get('/', (req, res) => {
res.render('home');
});
这就是我在主布局上设置 url 格式的方式:
<link rel="stylesheet" href="views/assets/bootstrap/css/bootstrap.min.css">
资产文件夹位于视图文件夹的根目录中。我该如何解决这个问题?
编辑:这是我的目录结构。
更改您的静态路径。
const publicPath = path.join(__dirname, '../views');
此外,更改 html
文件中的 href
<link rel="stylesheet" href="/assets/bootstrap/css/bootstrap.min.css">
如果以下是您的 static 文件夹,如您指定的那样表示
app.use(express.static(path.join(__dirname,'/public/')))
预期的 css 文件是 bootstrap.min.css ;存在于 public 文件夹内的根目录下,然后在 *.handlebar 内,以下是您的 css 文件[=的路径12=]
<link rel="stylesheet" type="text/css" href="./bootstrap.min.css" />