【问题标题】:How to organize a website that runs on Node-express server?如何组织在 Node-express 服务器上运行的网站?
【发布时间】:2017-06-02 10:16:01
【问题描述】:

我对此很陌生。我现在得到的是一个index.htmlrecord.html,一个包含所有逻辑和句柄XMLhttp 响应的application.js 文件,以及一个style.css 文件。

下面是我的 node-express 服务器。目前它在本地运行。稍后需要将其部署到 AWS。我的问题是,组织这个项目的正确方法是什么?可以将htmljscss 保存在public 文件夹中并将节点服务器文件保存在一起吗?我没有在节点服务器中编写任何 javascript,这是一个好的做法吗?非常感谢!

服务器:

app.use(express.static(__dirname+'/public'));
app.get('/record', function(req, res) {
       res.sendFile(path.join(__dirname + '/public'+ '/record.html'));
});


app.get('/', function (req, res) {
       fs.readFile('/index.html', function(error, content) {
          if (error) {
          res.writeHead(500);
          res.end();
       } else {
        res.writeHead(200, { 'Content-Type': 'text/html' });
        res.end(content, 'utf-8');
    }
}); 
  res.send('Hello World');   
});

https.createServer({
   key: privateKey,
   cert: certificate
}, app).listen(8080);

httpServer.listen(8443);

【问题讨论】:

    标签: javascript html css node.js express


    【解决方案1】:

    看来您只需要一个 HTTP 服务器。

    所有静态内容都应该从公共文件夹中提供,所以你做对了。如果您的公用文件夹包含 index.html 文件,它应该会在您访问 http://localhost:8080 时打开

    // Load required packages
    var express = require('express');
    
    // Create our Express application
    var app = express();
    
    // Add static middleware
    app.use(express.static(__dirname + '/public'));
    
    // Create our Express router
    var router = express.Router();
    
    // Initial dummy route for testing
    router.get('/', function(req, res) {
    
    });
    
    // Register all our routes
    app.use(router);
    
    // Start the server
    app.listen(8080);
    

    【讨论】:

    • 谢谢@xaxist。说“所有的静态内容都应该是……”,并不意味着这是一个静态网站,对吧?因为我的网站确实使用了一些 API var xmlhttp 请求/响应。我想我可以说它是一个在服务器上运行的动态网站,并且该服务器是使用 node-express 创建的?如果这是一个愚蠢的问题,请道歉..
    • 动态网站意味着 Html 页面中的内容会发生变化。如果你能详细说明你正在开发什么,我可以提供进一步的帮助。
    • 是的,那些 html 页面发生了变化。我正在做一个使用一些 API 的演示网站。它现在可以正常工作,但我只想确认我是否正确组织了这些文件并理解了这些概念。我很新,这是我第一个在 node-express 上运行的网站项目。那么什么是 node 应用程序?那是指将所有逻辑保存在该节点服务器文件中的应用程序吗?
    • 我建议您参加 Node.js 入门课程。可以在这里找到一个很好的免费课程 - school.scotch.io/build-a-nodejs-website
    猜你喜欢
    • 2015-09-28
    • 2020-09-20
    • 2017-11-04
    • 1970-01-01
    • 1970-01-01
    • 2015-05-02
    • 1970-01-01
    • 2018-02-18
    • 1970-01-01
    相关资源
    最近更新 更多