因此,我有一系列脚本,这些脚本设置为React / Node Express应用程序的dev服务器或heroku上的生产服务器。该应用程序的结构如下:
client / package.json // pckg用于React应用 package.json //节点服务器的pckg
这些是客户端软件包中的脚本:
"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"
}
以及react apps package.json和create-react-app自动生成的内容之间的唯一区别如下:
"proxy": "http://localhost:3001/",
它应该运行的方式是,在根文件夹中安装脚本,运行将CD安装到客户端的安装脚本并安装react应用程序依赖项,然后heroku的构建后脚本应启动以运行将CDs插入客户端并进行构建的构建脚本生产就绪反应应用程序。最后,启动脚本应该看到生产的NODE_ENV并运行start:prod。
我的问题是,由于某种原因,当我推送到heroku时,它似乎陷入了安装脚本的无限循环中。我不知道为什么,因为完全相同的脚本可以在其他项目上正常运行。
https://github.com/LordKriegan/reactdbdemo
https://github.com/LordKriegan/reactdbdemo2/(如果有人想看)。 (为我的学生做一个全栈演示:/如果我不能部署它,演示就不多了)
答案 0 :(得分:0)
我知道了。忘记了create-react-app还会初始化git repo ...?无论是那还是在我进行额外的git init的途中。无论如何,我的客户端文件夹中都有一个.git文件夹,这阻止了我的客户端文件夹被上推。我最终创建了一个新的存储库,并将所有内容推送到该存储库,现在可以正常工作了。所以万一有人来这里遇到类似的问题...请确保您没有陷入某种gitception陷阱。 :/