为了账号安全,请及时绑定邮箱和手机立即绑定

如何在生产中运行 node.js REST API 应用程序

如何在生产中运行 node.js REST API 应用程序

九州编程 2021-11-12 18:17:50
好的,所以马上我就觉得问这个问题有点愚蠢,但我对 node.js 应用程序有点陌生,所以请耐心等待。我已经在 node.js 中编写了这个 REST API,它在我的本地机器上运行得很好。但是,当我使用 webpack 构建它时,我不太确定它应该如何实际运行。在本地,我有一个使用 Express 文件的 server.js,我开始使用 node.js 文件。但是我将如何运行构建版本?我确定答案很明显,我只是没有看到。我的目标是能够在我的共享托管解决方案的子域上运行它,所以我有类似https://myapi.mydomain.com/getAListOfSomething/的示例端点的东西所以底线 - 我想使用 Webpack 来构建我的应用程序,然后将它部署到某个地方并像普通 API 一样使用它。我只是不知道该怎么做。使用 React 应用程序之类的东西,这对我来说是完全显而易见的(一个 index.html 文件,我的应用程序带有脚本标签,非常简单)但是对于这样的东西,我迷路了。所以这里有一些代码......服务端JSconst routes = require('./routes/appRoutes.js');const express = require('express');const cors = require('cors');process.env.NODE_ENV = process.env.NODE_ENV || 'development';const envPath = process.env.NODE_ENV !== 'production' ? `.env.${process.env.NODE_ENV}` : '.env';const config = require('dotenv').config({path: envPath}); bodyParser = require('body-parser'); app = express(); port = process.env.PORT || 3001; app.use(cors()); app.listen(port); console.log(process.env.APP_NAME + ' started on port ' + port +' (yay!)'); app.use(bodyParser.urlencoded({ extended: true })); app.use(bodyParser.json()); routes(app); //register the route* WEBPACK.CONFIG.JS *const path = require('path');const ExtractTextPlugin = require('extract-text-webpack-plugin');const webpack = require('webpack');const nodeExternals = require('webpack-node-externals');process.env.NODE_ENV = process.env.NODE_ENV || 'development';const envPath = process.env.NODE_ENV !== 'production' ? `.env.${process.env.NODE_ENV}` : '.env';const config = require('dotenv').config({path: envPath});module.exports = (env) => {    const isProduction = env==='production';    return {        entry: './routes/appRoutes.js',        output: {            path: path.join(__dirname,'public','dist'),            filename: 'bundle.js'        },
查看完整描述

2 回答

?
拉丁的传说

TA贡献1789条经验 获得超8个赞

在您正在构建的 webpack 配置中,public/dist/应该有一个bundle.js可以运行。然后简单地node bundle.js

对于节点项目来说,这似乎是一个奇怪的位置,但很容易改变。


查看完整回答
反对 回复 2021-11-12
?
RISEBY

TA贡献1856条经验 获得超5个赞

鉴于部署应用程序的方法有很多种,这个问题很难回答。有谷歌云平台、亚马逊网络服务、微软 Azure、ZEIT Now、Heroku 等实体。所有这些都可以为您购买的域添加端点和证书。下面是几个例子:

然后,您可以使用它配置的任何端点来访问您的应用程序、API 等。


查看完整回答
反对 回复 2021-11-12
  • 2 回答
  • 0 关注
  • 130 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信