NodeJS Express —在不保存生成的index.html公共文件的情况下提供服务

时间:2019-03-06 20:44:11

标签: node.js express web-applications server code-generation

使用express时,期望您将提供一个公共目录。

const app = express();
app.use('/', express.static('./public/'));

有没有一种方法可以代替生成的文件?对于我的应用程序,如果我可以直接构建index.html,然后直接从内存中提供“文件”,而不必保存文件然后再通过“使用”提供服务,将会更加方便。

1 个答案:

答案 0 :(得分:1)

  

期望您将提供一个公共目录

我完全不认为这是期望。许多应用程序只是使用路由而不是制作REST微服务。

您可以通过两种方式完成自己想做的事情。

  1. 使用带有NodeJS的模板引擎,仅res.render()模板。 Check this out以获得更多信息,即使文章使用的是.pug,您也可以使用these ones。流行的是ejs,车把

    app.get('/', function (req, res) {
        res.render('index', { title: 'Hey', message: 'Hello there!' })
    })
    
  2. 或者您可以在res.send()中编写所有内容,例如:

    app.get('/', function (req, res) {
        //set the appropriate HTTP header
        res.setHeader('Content-Type', 'text/html');
    
        //send multiple responses to the client
        res.send('<h1>This is the response</h1>');
    });