nodejs send html file to client

后端 未结 3 1092
迷失自我
迷失自我 2021-01-30 17:10

I use this function to send html file to client, but in client I get nothing (blank page) without error. Something I wrong?, please help?

var express = require(\         


        
相关标签:
3条回答
  • 2021-01-30 17:52

    After years, I want to add another approach by using a view engine in Express.js

    var fs = require('fs');
    
    app.get('/test', function(req, res, next) {
        var html = fs.readFileSync('./html/test.html', 'utf8')
        res.render('test', { html: html })
        // or res.send(html)
    })
    

    Then, do that in your views/test if you choose res.render method at the above code (I'm writing in EJS format):

    <%- locals.html %>
    

    That's all.

    In this way, you don't need to break your View Engine arrangements.

    0 讨论(0)
  • 2021-01-30 17:56

    Try your code like this:

    var app = express();
    app.get('/test', function(req, res) {
        res.sendFile('views/test.html', {root: __dirname })
    });
    
    1. Use res.sendFile instead of reading the file manually so express can handle setting the content-type properly for you.

    2. You don't need the app.engine line, as that is handled internally by express.

    0 讨论(0)
  • 2021-01-30 18:06

    you can render the page in express more easily

    
     var app   = require('express')();    
        app.set('views', path.join(__dirname, 'views'));
        app.set('view engine', 'jade');
     
        app.get('/signup',function(req,res){      
        res.sendFile(path.join(__dirname,'/signup.html'));
        });
    
    

    so if u request like http://127.0.0.1:8080/signup that it will render signup.html page under views folder.

    0 讨论(0)
提交回复
热议问题