【问题标题】:Node.js, Express.js, Angular.js: Hosting my own APINode.js、Express.js、Angular.js:托管我自己的 API
【发布时间】:2021-01-09 09:46:34
【问题描述】:

我是编码新手,我有一个关于我使用 angular.js 创建的小应用程序的问题,该应用程序向另一个 express.js 应用程序发出发布请求。 这是一个简单的括号平衡检查器,你可以在这里找到整个代码: https://github.com/OGsoundFX/parentheseschecker

FrontEnd-Refactored 文件夹包含 Angular.js 应用,APItesting 包含 express.js API.

该应用程序正在运行,但我只在本地使用它。 API 在 localhost:3000 上运行,应用在 localhost:8080 上运行

但是如果我想公开呢?我该怎么办?我真的不知道从哪里开始。 在哪里托管 express.js 应用程序的 node.js。我阅读了有关 AWS 的信息,这样会好还是有更好的服务?

我有一个托管在 https://www.mddhosting.com/ 上的 Wordpress 网站,但那行不通,对吧?

我的 Angular 应用目前正在本地调用 api,所以我可能不得不更改它正在获取的 API 链接:

ApiService.js

function ApiService($http) {
    API = '//localhost:3000/parentheses';
    this.getUser = (entry) => {
        return $http
            .post(API, { string: entry} )
            .then(function (response) {
                return response.data;
            }, function (reason) {
                // error
            })
    };
};

angular
    .module('app')
    .service('ApiService', ApiService);

在我的 API server.js

const http = require('http');
const app = require('./app')

const port = process.env.PORT || 3000;

const server = http.createServer(app);
server.listen(port);

我肯定必须在我的 AngularJS 应用程序中更改 API = '//localhost:3000/parentheses';,但我应该更改 const port = process.env.PORT || 3000; 吗?

我只需要一点推动力就可以帮助我消除一些困惑。 谢谢!

【问题讨论】:

    标签: node.js angularjs amazon-web-services api express


    【解决方案1】:

    确保您使用应用程序级别的环境变量 例如:为开发和生产分别定义站点的 BASE_URL。这样做您无需在上线时进行任何配置更改,这是一个一次性的过程。

    如果您正在为宠物项目寻找免费托管服务,Heroku 很好,如果您真的想让网站为最终用户上线,您可以选择 AWS EC2 实例或 Heroku 付费服务,两者都很好。

    【讨论】:

    • 非常感谢,听起来不错!我将看看设置应用程序级环境变量,作为开始并从那里开始,我会回复你,谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-07-22
    • 1970-01-01
    • 2014-10-26
    • 2020-04-14
    • 2018-02-22
    • 2016-02-10
    • 1970-01-01
    相关资源
    最近更新 更多