Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从.html页面链接到.ejs页面?_Javascript_Html_Css_Node.js_Express - Fatal编程技术网

Javascript 如何从.html页面链接到.ejs页面?

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

我正在制作一个网页,我一直在研究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">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它说“找不到你的文件”…我的代码现在看起来是这样的:你能提供你的文件夹结构吗?