![](/img/trans.png)
[英]Static serving on express js not working when also using custom middleware
[英]using middleware in express static is not working in node js
我是Node js的新手。 我正在尝试创建一个节点js应用程序,并按如下所示配置app.js。
var express = require ('express');
var app = express();
app.set('view engine', 'ejs');
app.use(express.static('resources'));
app.get('/', function(req, res){
res.render('index');
});
app.listen(3000);
我正在使用几个局部视图,并将所有局部视图注入main.ejs,最后将main.ejs注入index.ejs
要将bootstrap和jquery应用于所有视图,我在index.ejs文件中调用它们。
Index.ejs:
<!DOCTYPE html>
<html>
<head>
<title>New page</title>
<link type="text/css" href="/resources/bootstrap.min.css">
<script type="text/javascript" src="/resources/bootstrap.min.js"></script>
<script type="text/javascript" src="/resources/jquery-3.3.1.slim.js"></script>
</head>
<body>
<% include main.ejs %>
</body>
</html>
main.ejs
<!DOCTYPE html>
<html>
<head>
<title>New page</title>
</head>
<body>
<% include partials/partial_page.ejs %>
</body>
</html>
partial_page.ejs
<!DOCTYPE html>
<html>
<head>
<title>New page partial</title>
</head>
<body>
New Page 2
<button class="btn btn-primary">AAAA</button>
</body>
</html>
所有静态文件都存储在资源文件夹中。
这些引导程序和jquery无法正常工作,我无法从中获得任何结果。 控制台出现404错误,即Bootstraps和jquery。 这是怎么了
尝试从index.ejs
之外的所有内容中删除<!DOCTYPE>
, html
, head
和body
标记。 您不需要它们,因为部分是在index.ejs
中呈现的,这就是您的路线所指向的地方。
您可以使用app.use(express.static(__dirname + '/resources'));
将<script type="text/javascript" src="/resources/bootstrap.min.js"></script>
更改为<script type="text/javascript" src="bootstrap.min.js"></script>
var express = require ('express');
var app = express();
app.set('view engine', 'ejs');
app.use(express.static(__dirname,'resources'));
app.engine('html',require('ejs').renderFile);
app.get('/', function(req, res){
res.render('index');
});
app.listen(3000);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.