[英]Serving static frontend JS file with Express JS
您好,我在 Express 服务器中加载前端 JS 文件时遇到问题。 我的文件结构是这样的
我的服务器代码 -
app.set("view engine", "ejs");
app.set("views", path.join(__dirname, "views"));
app.use('/static', express.static(path.join(__dirname, 'public')))
app.get("/", (req, res) => {
// check if user is logged in, by checking cookie
let username = req.cookies.username;
if(username){
return res.sendFile(path.join(__dirname, "public/index.html"))
}else{
res.redirect("/login");
}
});
我可以成功加载 html 文件
但是脚本文件 index.js 没有加载,我无法加载 function
<script src="index.js"></script>
你能告诉我我做错了什么吗
后端的“public”文件夹通常是指服务器上映射到 URL 根路径的文件夹。因此尝试在快速路由中将/static
路径替换为/
,并检查登录状态(以及任何其他 HTTP GET 请求处理不涉及服务 static 文件的服务器根路径)在设置 static 服务器本身之前:
app.set("view engine", "ejs");
app.set("views", path.join(__dirname, "views"));
app.use('/static', express.static(path.join(__dirname, 'public')))
app.get("/", (req, res) => {
// check if user is logged in, by checking cookie
let username = req.cookies.username;
if(username){
return res.sendFile(path.join(__dirname, "public/index.html"))
}else{
res.redirect("/login");
}
// set up static server on root path:
app.use('/', express.static(path.join(__dirname, 'public')))
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.