我正在尝试将一些静态文件加载到ejs(我能够加载HTML文件,但不能在ejs文件中加载)。不只是静态文件。 我甚至无法加载CDN文件!有人可以帮助我了解我哪里出错吗? 这是目录结构:
这是我的server.js:
<div class="search-box">
<input type="text" id="searchBox" autocomplete="off" placeholder="Search dealer..." />
<div class="result"></div>
</div>
这是我的index.ejs:
const express=require('express');
var app=express();
const MongoClient = require('mongodb').MongoClient
app.set('view engine', 'ejs')
var path = require('path')
app.use('/static',express.static(__dirname + '/public'));
app.get('/',function(req,res){
db.collection('testCollection').find().toArray((err, result) => {
if (err) return console.log(err)
console.log(result)
res.render('index.ejs', {testCollection: result})
})
});
答案 0 :(得分:0)
<link rel="stylesheet" href="/main.css"/>
<script src="/main.js"></script>
以上是你应该如何在index.ejs中调用你的文件。您将这样做是因为您在server.js
文件中声明了
app.use('/static',express.static(__dirname + '/public'));
答案 1 :(得分:0)
我认为如果你添加:
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);