【问题标题】:How to integrate express.js with your website如何将 express.js 与您的网站集成
【发布时间】:2020-06-19 17:06:56
【问题描述】:

我用 html、css 和 javascript 构建了一个简单的 web 投资组合页面。我没有像angular或react这样的框架做到这一点。我只在页脚中使用了引导程序。

我使用 webpack 作为我的打包工具,一切运行良好,但我现在的问题是我想将 express.js 与我的应用程序集成,我不知道该怎么做,我即将完成服务器端编程来自 Coursera 的 Nodejs 和 Express 课程。我已经通过谷歌搜索,但找不到我想要的。

【问题讨论】:

标签: javascript node.js express


【解决方案1】:

有多种方法可以将后端与前端集成。您说您正在 Coursera 上完成有关 Node JS 和 Express 的课程,所以我假设您已经知道如何设置服务器等等。

如果您刚开始并且只想让您的数据来自数据库并将其填充到实际的 HTML 中,我会看看 EJS。它允许您将数据嵌入到 HTML 页面中,这样您就可以生成包含所需数据的完整 HTML 页面。这对于 SEO 之类的东西非常有用。

另一种方法是让一些客户端 Javascript 通过 REST API 以某种方式查询您的后端,例如:

快递:

async function getSomethingFromDB(req, res) {
   const data = await getDataFromDb()

   res.send(data)
}

app.get("/something", getSomethingFromDB)

在你的前端 JS 中:

async function fetchDataFromBackend() {
   const res = await fetch(`/something`)
   const data = await res.json()

   return data
}

您可以随意拨打fetchDataFromBackend 并使用data 做任何您需要的事情,例如用这些数据填充您的网站。这种方法非常适合制作交互式应用程序,但在 SEO 方面有其自身的问题,我建议使用第一种方法,一旦您的网站需要 AJAX,就使用这种技术。

我希望这会有所帮助!

【讨论】:

    【解决方案2】:

    在您的后端项目文件夹中安装,在控制台中:npm install express --save

    var express = require('express');
    
    var app = express();
    
    // Configure headers y cors
    app.use((req, res, next) => {
        res.header('Access-Control-Allow-Origin', '*');
        res.header('Access-Control-Allow-Headers', 'Authorization, X-API-KEY, Origin, X-Requested-With, Content-Type, Accept, Access-Control-Allow-Request-Method');
        res.header('Access-Control-Allow-Methods', 'GET, POST, OPTIONS, PUT, DELETE');
        res.header('Allow', 'GET, POST, OPTIONS, PUT, DELETE');
        next();
    });
    
    app.use('/api', project_routes);

    【讨论】:

      【解决方案3】:

      如果您想以简单的方式将后端 API 公开给前端,我可以建议使用基于 express 底层的api-mount

      如果您需要自定义 express,引入额外的中间件或类似的 - api-mount 允许这样做。

      缺点是您的后端不会是 RESTfull,而且您对 express 本身的了解会更少。不过,试试看 - 你可能会喜欢它:)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-02-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-08-16
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多