Node.js 我的ejs页面不像其他ejs页面那样加载

Node.js 我的ejs页面不像其他ejs页面那样加载,node.js,ajax,ejs,Node.js,Ajax,Ejs,这是我的编辑管理代码 只有在这个页面中,我的html css没有得到404的加载 错误 我试了很多,但我不知道这背后的真正原因是什么 类错误 拒绝应用“”中的样式,因为其MIME类型为 ('text/html')不是受支持的样式表MIME类型,并且是严格的MIME 在nodejs中启用了检查 拒绝应用“”中的样式,因为其MIME类型('text/html')不是受支持的样式表MIME类型,并且启用了严格的MIME检查 管理 电子邮件地址 密码 您的css文件路径http://localho

这是我的编辑管理代码

只有在这个页面中,我的html css没有得到404的加载 错误 我试了很多,但我不知道这背后的真正原因是什么 类错误 拒绝应用“”中的样式,因为其MIME类型为 ('text/html')不是受支持的样式表MIME类型,并且是严格的MIME 在nodejs中启用了检查 拒绝应用“”中的样式,因为其MIME类型('text/html')不是受支持的样式表MIME类型,并且启用了严格的MIME检查


管理
电子邮件地址
密码

您的css文件路径
http://localhost:5000/admin/css/bootstrap3.3.7.min.css
不正确

因为在指定的路径上找不到文件,所以它转到404&返回404的html页面,这导致您看到此错误

我建议使用绝对路径来引用静态css/js资源文件,因为它可能需要从不同的位置访问,如果从不同的位置访问,相对路径可能不起作用

为了确保这是您的错误,只需粘贴此url
http://localhost:5000/admin/css/bootstrap3.3.7.min.css
在您的浏览器中&查看是否有css文件,如果您看到404页面,错误正是我上面解释的

更新>参考ejs中资产的理想方式

在呈现EJB时,您可以在路由中这样传递基本url

res.render('edit', {
    base_url: "http://" + req.headers.host
})
然后指定链接URL,如下图所示,无论从何处调用,它都会捕获准确的文件

<link rel="stylesheet" type="text/css" href="<%= base_url%>/css/bootstrap3.3.7.min.css">
<link rel="stylesheet" type="text/css" href="<%= base_url%>/fonts/font-awesome-4.7.0/css/font- 
    awesome.min.css">
<link rel="stylesheet" type="text/css" href="<%= base_url%>/css/dashboard.css">

我认为您需要在nodejs应用程序文件中指定资产文件夹

app.use(“ASSETS_FOLDER”, express.static(“ASSETS_FOLDER”);

我的其他页面工作正常,并且与此文件位于同一位置!所有页面路由是否在同一级别?与{url}/user一样,它可能在页面上工作,但可能不在{url}/admin/user上工作,因为第二个路由比前一个级别更高,因此对静态文件的相对引用可能不适用于此路由请共享指定路由的代码、主js文件和文件夹结构的快照,如果我添加了一个目录结构的屏幕截图,请看一看,我确信现在这个路由比其他路由领先一个级别,请尝试在上面代码中的引导文件src之前再添加一次../它将正确地显示我像app.use那样做了(express.static(path.join(u dirname,'public'));那么你有没有所有像css、js这样的文件都在“public”文件夹中?试试这个应用程序。使用(“public”,express.static(“public”);而不是app.use(express.static(path.join(u dirname,'public”));在添加app.use(“public”,express.static(“public”);删除“/”在您的ejs页面上,如下所示:如果您admin_app.js位于应用程序根目录中的另一个文件夹中,请尝试此应用程序;
app.use(“ASSETS_FOLDER”, express.static(“ASSETS_FOLDER”);