Javascript 如何从.html页面链接到.ejs页面?
我正在制作一个网页,我一直在研究stackoverflow如何从.html文件链接到.ejs文件 人们在说: 在index.html中:Javascript 如何从.html页面链接到.ejs页面?,javascript,html,css,node.js,express,Javascript,Html,Css,Node.js,Express,我正在制作一个网页,我一直在研究stackoverflow如何从.html文件链接到.ejs文件 人们在说: 在index.html中: <li><a href="views/twitter">Twitter</a></li> app.get('/twitter',function(req,res){ res.render('twitter', { }); }); <li><a href="/twitter">Twit
<li><a href="views/twitter">Twitter</a></li>
app.get('/twitter',function(req,res){
res.render('twitter', { });
});
<li><a href="/twitter">Twitter</a></li>
但这对我不起作用。上面写着“找不到你的文件”
但是,当我将.ejs放在后面时,如下所示:
<li><a href="views/twitter.ejs">Twitter</a></li>
我可以访问该页面,但没有css。我知道我需要创建一个控制器,这样我也可以看到css,但是如何创建呢?如何链接它以便正确查看?它可以在localhost上运行,但当我第一次单击index.html然后从那里单击twitter.ejs时就不行了。我找不到任何关于这个问题的教程 首先将视图引擎设置为ejs
app.set('view engine', 'ejs');
接下来,告诉express您的ejs文件位于“视图”文件夹中
app.set('views', path.join(__dirname, 'views'));
为了提供css、js、图像等静态文件,请将这些文件放在一个文件夹中,例如:public。现在告诉express为这些静态文件提供服务:
app.use(express.static(path.join(__dirname, 'public')));
在index.html中:
<li><a href="views/twitter">Twitter</a></li>
app.get('/twitter',function(req,res){
res.render('twitter', { });
});
<li><a href="/twitter">Twitter</a></li>
您是否在主app.js
文件中使用了app.set('view engine','ejs')
running@Jana是的,我已经在我的.js文件中这样做了,然后app.use('/views',express.static('public'))
static文件路径?类似于此,如果未设置静态文件路径,则使用res.render(uuu dirname+'/views/twitter',{})代码>@Jana谢谢你的回复。我应该在哪里粘贴“res.render”代码?下面是我使用“use”和“get”的部分代码:这样,如果我把.ejs放在后面,而没有原始帖子中提到的css,我就可以看到页面了。谢谢。我完全按照你在这里写的做了,我到达了file:///twitter它说“找不到你的文件”…我的代码现在看起来是这样的:你能提供你的文件夹结构吗?