Javascript 将CSS和JS等静态文件加载到ejs

Javascript 将CSS和JS等静态文件加载到ejs,javascript,html,node.js,express,ejs,Javascript,Html,Node.js,Express,Ejs,我正在尝试将一些静态文件加载到ejs(我可以在HTML文件中加载,但在ejs文件中没有)。不仅仅是静态文件我甚至无法加载CDN文件有人能帮我理解我哪里出了问题吗? 以下是目录结构: 这是我的server.js: const express=require('express'); var-app=express(); const MongoClient=require('mongodb')。MongoClient app.set('查看引擎','ejs') var path=require('

我正在尝试将一些静态文件加载到ejs(我可以在HTML文件中加载,但在ejs文件中没有)。不仅仅是静态文件我甚至无法加载CDN文件有人能帮我理解我哪里出了问题吗? 以下是目录结构:

这是我的server.js:

const express=require('express');
var-app=express();
const MongoClient=require('mongodb')。MongoClient
app.set('查看引擎','ejs')
var path=require('路径')
app.use('/static',express.static('/public');
app.get('/',函数(req,res){
db.collection('testCollection').find().toArray((错误,结果)=>{
if(err)返回console.log(err)
console.log(结果)
res.render('index.ejs',{testCollection:result})
})
});

以上是您应该如何调用index.ejs中的文件。之所以要这样做,是因为您在
server.js
文件中声明了
app.use('/static',express.static(uu dirname+'/public')

我认为如果您添加:

app.set('views',__dirname);//---> before setting ejs as the View Engine ... (this is for the views folder that you have there but your view is in your current working directory hence __dirname)
var index = require('./index');
app.use('/', index);//---> after declaring static folder...
您的代码节点可能知道文件在哪里


我建议您将
index.ejs
移动到views文件夹,然后设置:

app.set('views', path.join(__dirname, 'views'));
而不是:

app.set('views',__dirname);
标记没有结束斜杠。