【问题标题】:Loading html page in Node.js在 Node.js 中加载 html 页面
【发布时间】:2014-09-26 14:18:51
【问题描述】:

如何使用 NodeJs 加载 HTML 页面?

【问题讨论】:

    标签: node.js http


    【解决方案1】:

    这取决于您使用什么来呈现页面。如果您在前端使用 AngularJS,请将您的 HTML 作为字符串或使用 express 中间件的 sendfile() 方法发送。基本上 node 和 express 用于调用 rest API 以将您的 HTML 作为字符串并使用 AngularJS 进行渲染。

    例如

    var express = require('express');
    
    var app = express.createServer();
    
    app.use(express.staticProvider(__dirname + '/public'));
    
    app.all('/homePage', function(req, res) {
      res.sendFile('home.html');
    });
    
    app.all('*', function(req, res) {
      res.sendFile('index.html');
    });
    

    在这里,index HTML 是带有 ng-view 指令的 Angular 单页应用程序。在客户端渲染您从服务器获取的所有 HTML。

        <!DOCTYPE html>
        <html>
        <head lang="en">
            <meta charset="UTF-8">
            <title>Welcome</title>
            <link rel="stylesheet" href="css/bootstrap-theme.css">
            <link rel="stylesheet" href="css/style.css">
    
            <link href="css/bootstrap.css" rel="stylesheet">
            <script type="text/javascript" src="js/javascript.js"></script>
            <script type="text/javascript" src="js/bootstrap.min.js"></script>
            <script type="text/javascript" src="js/newangular.js"></script>
            <script type="text/javascript" src="js/newroute1.js"></script>
            <script type="text/javascript" src="js/ParentController.js"></script>
            <script type="text/javascript" src="js/clintSIdeRoutes.js"></script>
            <script type="text/javascript" src="js/services.js"></script>
    
        </head>
        <body ng-app="schoolApp" ng-controller="MainController">
        <div class="container">
            <div class="row"><span class="col-md-12"><h1>Header Goes here</h1></span></div>
            <div ng-view></div><!-- this is place where your html is rendered --> 
        </div>
        </body>
        </html>
    

    以下是链接:

    https://github.com/bharat-daffodilsw/school
    

    这是我第一次尝试分享应用。希望这可以帮助。目前,我有空的时候正在研究它。所以它不完整但工作正常。

    【讨论】:

      【解决方案2】:

      此代码应从 html 页面加载数据。

      var http = require('http');
      http.get('http://www.google.com', onGotData);
      function onGotData(res) {
        var chunks = [];
        res.on('data', onGotData);
        res.on('end', onEnd);
        function onGotData(chunk) {
          chunks.push(chunk);
        }
        function onEnd() {
          console.log(chunks.join(''));
        }
      }
      

      【讨论】:

        【解决方案3】:

        用户express。关注这个question

        var express = require('express');
        
        var app = express.createServer();
        app.register('.html', require('jade'));
        //app.engine for version 3
        
        
        app.use(express.staticProvider(__dirname + '/public'));
        //place your html in public folder beside the app.js
        
        app.get('/', function(req, res) {
        
            res.render('index.html');
        });
        
        // spin up server
        app.listen(8080, '127.0.0.1')
        

        【讨论】:

          猜你喜欢
          • 2014-09-26
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-01-22
          • 1970-01-01
          • 2018-05-26
          • 1970-01-01
          相关资源
          最近更新 更多