node.js - package.json 脚本在 heroku 上失败
问题描述
所以我有一系列脚本设置为 React/Node Express 应用程序的开发服务器或 heroku 上的生产服务器。该应用程序的结构如下:
client/package.json //pckg for react app package.json //pckg for 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"
}
react 应用程序 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/如果有人想看的话。(为我的学生做一个完整的堆栈演示:/如果我无法部署它,那就没有太多的演示)
解决方案
我让它工作了。忘记了 create-react-app 也初始化了一个 git repo ......?无论是那个还是在路上的某个地方,我都做了一个额外的 git init。无论如何,我的客户端文件夹中有一个 .git 文件夹,这阻止了我的客户端文件夹被向上推。我最终创建了一个新的存储库并将所有内容推送到该存储库,现在它可以工作了。所以万一有人来这里遇到类似的问题……确保你没有陷入某种 gitception 陷阱。:/
推荐阅读
- java - 无法将 BufferedImage 转换为图像 java
- scala - 将数据帧写入 HDFS 时出现 Spark OOM 问题
- reactjs - 输出一定数量后的 React Js Stop map 方法
- c# - 在方法中途添加泛型类型约束
- python - 按相应列中的值对 2 个数据框进行排序和对齐
- javascript - 如何使用两个时刻,一个用于当前时间,另一个用于开始时间?
- python - 我如何将交叉开关客户端(python3,asyncio)与 tkinter 集成
- c++ - llvm JIT addGlobalMapping,不能添加类成员函数,是模板函数
- javascript - 如何将请求 base64 编码的音频 blob 发布到 Node Express JS
- mongodb - 即使权限设置正确,mongodb也会自动关闭