【问题标题】:How can I connect .ejs files to .html file?如何将 .ejs 文件连接到 .html 文件?
【发布时间】:2021-04-25 04:00:23
【问题描述】:

我想将我的 login.ejs 文件连接到 index.html 文件。我的目录如下所示:

UserService directory
   app.js
   views
   - login.ejs
   - signup.ejs
   - dashboard.ejs
Website
   - index.html

我在 stackoverflow 上搜索并使用了一些解决方案:

在 index.html 中(用于连接登录页面和 index.html 页面):

<a class="nav-link btn btn-warning signup" href="./UserService/views/login.ejs">Login</a>

在 app.js 中:

app.get('./views/login.ejs',function(req,res,next){
 res.render('login');
});

我合并了上述解决方案和其他帖子中提到的其他一些解决方案。但是,我将继续在网站上获取我的 login.ejs 文件的 code。 请帮忙。

谢谢!

【问题讨论】:

    标签: html node.js ejs


    【解决方案1】:

    为什么将路由设置为 './views/login.ejs' 而不是仅使用 './views/login' 删除扩展名是一个好习惯 除此之外 您的路线指向另一个位置

    
    app.get('./views/login.ejs',function(req,res,next){
     res.render('login');
    });
    //which is this => 127.0.0.1:80/views/login.ejs
    

    所以把你的代码改成

    <a class="nav-link btn btn-warning signup" href="./views/login.ejs">Login</a>
    

    【讨论】:

    • 嗨,我试过了。但是现在,我无法访问页面本身。它显示错误“找不到文件”早些时候我能够在网页上看到我的代码。
    【解决方案2】:

    要将ejs页面链接到html、php页面中,需要进入app.js文件并相应设置视图引擎。

    在 app.js 中

    app.set('view engine', 'ejs');
    app.set('view engine','html');
    app.set('view engine','php');
    

    不要忘记使用npm install html 安装这些依赖项 最后使用 render 函数渲染任意类型的前端页面,如图:

    router.get('/', forwardAuthenticated, (req, res) => res.render('index.html')); 
    
    #Incase of a .php file. 
    router.get('/', forwardAuthenticated, (req, res) => res.render('index.php')); 
    

    在html/php源码中,可以直接使用自己创建的路由链接页面。

    <a class="nav-link btn btn-warning signup" href="/users/login">Login</a>
    

    为了说明上面的陈述,我包括了渲染 login.ejs 文件的路由文件的 sn-p:

    在路由/users.js中

    router.get('/login', forwardAuthenticated, (req, res) => res.render('login.ejs'));
    

    希望解决方案有所帮助。谢谢!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-03-06
      • 1970-01-01
      • 2020-08-31
      • 2012-11-24
      • 1970-01-01
      相关资源
      最近更新 更多