繁体   English   中英

如何在具有不同节点版本的服务器上部署 node.js 应用程序

[英]How to deploy the node.js application on server with different node version

我想在服务器上部署我的node app 但是当我将节点应用程序上传到我们的服务器然后添加node.js安装时,它没有打开文件。 index.js 文件是

const connectToDb = require("./DBconfig");
const express = require('express')
const router = express.Router();
var cors = require('cors');

connectToDb();
const app = express();
const port = process.env.PORT | 5000;
app.use(cors());

app.use(express.json());
connectToDb();

app.use( '/api/user' ,require('./routes/user') );
app.use( '/api/post' ,require('./routes/post') );

app.get('/', (req, res) => {
  res.send('The site is start now')
})

if(process.env.NODE_ENV === "production"){
  app.use(express.static("client/build"));
  const path = require("path");
  app.get("*",(req,res)=>{
    res.sendFile(path.resolve(__dirname,'client','build','index.html'))
  })
}

app.listen(port, () => {
  console.log(`Example app listening on port ${port}`)
})

我本地机器中的节点版本是v16.14.0 ,但 NameCheap 给出的节点版本是v14.18.3

我配置的Namecheap中的节点安装是节点的安装

触发错误消息,当我点击 API API 的 URL 的 URL时,是错误消息 我无法找到解决此问题的解决方案。 我读了一些文章,其中作者告诉我们当我们在本地机器和服务器机器上使用不同的节点版本时会发生这种类型的错误,但我不能做任何事情,因为我限制使用v14.18.3服务器端,但我在本地机器上使用了v16.14.0 谁能告诉我解决此类问题的解决方案?

nvm 是另一个可以帮助您控制节点版本本身的有用工具,您可以使用 nvm 命令轻松升级节点版本。

nvm install <version-number>
nvm use 0.10

使用nvm use -nodeversion您可以将节点 js 版本切换到服务器节点 js 版本。

webi也是一个很棒的工具。 我建议完全卸载节点并使用webi重新安装它。

# this will install node and the webi cli
# Linux/Mac
curl -sS https://webinstall.dev/node | bash

# Windows
curl.exe -A "MS" https://webinstall.dev/node | powershell

# then you can run the following to switch versions
webi node@14

有关详细信息,请参阅https://webinstall.dev/node/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM