package.json脚本在heroku上失败

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了package.json脚本在heroku上失败相关的知识,希望对你有一定的参考价值。

所以我有一系列脚本设置为React / Node Express应用程序的dev服务器或heroku上的生产服务器。该应用程序的结构如下:

client / package.json // pckg for react app package.json // pckg for the node server

这些是客户端包中的脚本:

  "scripts": {
"start": "if-env NODE_ENV=production && npm run start:prod || npm run start:dev",
"start:prod": "node server.js",
"start:dev": "set NODE_ENV=development&& concurrently "nodemon --ignore 'client/*'" "npm run client"",
"client": "cd client && npm run start",
"seed": "node scripts/seedDB.js",
"install": "cd client && npm install",
"build": "cd client && npm run build",
"heroku-postbuild": "npm run build"

}

反应应用程序package.json与使用create-react-app自动生成的应用程序之间的唯一区别如下:

"proxy": "http://localhost:3001/",

它应该运行的方式是,在根文件夹中安装脚本,运行安装脚本cd到客户端并安装反应应用程序依赖项,然后heroku的构建后脚本应该启动以运行构建脚本cds到客户端并构建生产就绪反应app。最后,启动脚本应该看到生产的NODE_ENV并运行start:prod。

我的问题是,由于某些原因,当我推送到heroku时,它似乎陷入了安装脚本的无限循环。我不知道为什么,因为完全相同的脚本完全适用于其他项目。

https://github.com/LordKriegan/reactdbdemo https://github.com/LordKriegan/reactdbdemo2/如果有人想看它。 (为我的学生做一个完整的堆栈演示:/如果我不能部署它,那么没有太多的演示)

答案

我搞定了。忘了create-react-app也初始化一个git repo ......?无论是那个还是某个地方我都做了额外的git init。无论如何,我的客户端文件夹中有一个.git文件夹,这阻止了我的客户端文件夹被推送。我最终创建了一个新的回购并将所有内容推送到那个,现在它可以工作了。所以任何人都来这里遇到类似的问题...确保你没有最终陷入某种gitception陷阱。 :/

以上是关于package.json脚本在heroku上失败的主要内容,如果未能解决你的问题,请参考以下文章

在部署到 Heroku 之前,我应该对 MERN 应用程序的 package.json 文件的脚本进行哪些更改?

Heroku 如何从 package.json 版本号崩溃?

无法从 Heroku 上的 package.json 从 github 安装 npm 包

万一失败,如何继续运行 package.json 中定义的脚本?

我如何告诉 heroku 我的 server.js 和 package.json 在一个文件夹中?

安装后 webpack 无法在 Heroku 上运行