在 Azure Web App 上安装 nmp 几分钟后,node_modules消失了



我正在尝试通过bitbucket在Azure webapp上部署我的node.js应用程序。

当我在Kudu控制台上检查wwwroot文件夹时,我找不到任何node_modules文件夹,因此应用程序无法启动

我已经尝试了 npm 安装和 npm 安装 --生产在 kudu 控制台(在 wwwroot 文件夹内),我可以看到node_modules和文件正在通过 filezilla 安装....但是,当我尝试再次启动该应用程序时,node_modules消失了,在 Kudu 控制台和 Filezilla 中都看不到它。

项目文件夹中的 package.json 文件:

{
"name": "fo",
"version": "1.0.0",
"description": "xx xx xx",
"main": "index.js",
"scripts": {
"test": "echo "Error: no test specified" && exit 1"
},
"author": "xx xx",
"license": "MIT",
"dependencies": {
"angular-map-it": "0.0.20",
"angular-maps": "^6.0.1",
"angular-waypoints": "^2.0.0",
"axios": "^0.19.0",
"bcrypt": "^3.0.6",
"bluebird": "^3.5.5",
"body-parser": "^1.19.0",
"connect-mongodb-session": "^2.2.0",
"convert-json": "^0.5.0",
"csvtojson": "^2.0.10",
"dotenv": "^8.0.0",
"express": "^4.17.1",
"express-session": "^1.16.2",
"fixed-width-string": "^1.0.0",
"guid": "0.0.12",
"json2csv": "^4.5.2",
"jsontoxml": "^1.0.1",
"moment": "^2.24.0",
"moment-business-days": "^1.1.3",
"money": "^0.2.0",
"mongoose": "^5.6.4",
"multer": "^1.4.1",
"ng-storage": "^0.3.2",
"node-crisp-api": "^1.8.3",
"nodemailer": "^6.3.0",
"objects-to-csv": "^1.0.1",
"open-exchange-rates": "^0.3.0",
"sanitize": "^2.1.0",
"svg-assets-cache": "^1.1.3"
}
}

我不明白,人们如何让 node.js 应用程序在 azure 上运行? 为什么node_modules正在消失? 以及为什么 Azure 不会根据我的包自动安装它们.json?

Azure 应用服务可理解 package.json 和 npm-shrinkwrap.json 文件,并可以根据这些文件中的条目安装模块。

Azure 应用服务不支持所有本机模块,并且在编译具有特定先决条件的模块时可能会失败。虽然一些流行的模块(如MongoDB)具有可选的本机依赖项,并且无需它们即可正常工作,但以下解决方法在当今几乎所有可用的本机模块中都证明是成功的:

导航到 Kudu - https://yoursite.scm.azurewebsites.net/

找到 wwwroot 文件夹并运行安装命令命令。

光盘网站

光盘 万维网

npm 安装

在安装了所有本机模块的先决条件的 Windows 计算机上运行 npm 安装。然后,将创建的node_modules文件夹作为应用程序的一部分部署到 Azure 应用服务。在编译之前,请检查本地 Node.js 安装是否具有匹配的体系结构,并且版本是否尽可能接近 Azure 中使用的版本(可以在运行时从属性 process.arch 和 process.version 检查当前值)。因此,请确保

可以将 Azure 应用服务配置为在部署期间执行自定义 bash 或 shell 脚本,使你有机会执行自定义命令并精确配置 npm 安装的运行方式。有关演示如何配置该环境的视频,请参阅使用 Kudu 自定义网站部署脚本。请确保所有配置都合适。 如果问题仍然存在,请告诉我们你收到的特定错误消息(应用无法启动)以进行进一步调查,并查看此"Azure 应用服务 Windows 上节点应用程序的最佳做法和故障排除指南",了解有关该主题的更多详细信息。

最新更新