Как имитировать сборку приложения Heroku react локально?

#node.js #reactjs #typescript #heroku

#node.js #reactjs #typescript #heroku

Вопрос:

У меня есть приложение Rails / React, которое я пытаюсь развернуть в Heroku. Я получаю ошибки при попытке создать приложение React, потому что оно ищет @types/* то, что есть в моем devDependencies , но не должно быть. Я могу исправить это, переместив их в dependencies раздел моего package.json файла, но мне интересно, почему я не получаю эти ошибки при yarn build локальном запуске скриптов yarn heroku-postbuild или. Я полагаю, что, возможно, у меня где-то локально есть настройка, которой у меня нет на Heroku, где я создаю сборку разработчика или что-то, что не улавливает эти ошибки.

Как я могу смоделировать сборку React на Heroku локально, чтобы меня не удивляли эти ошибки при попытке развертывания?

Вот соответствующие фрагменты моего /package.json файла:

 "engines": {
  "yarn": "1.22.5",
  "npm": "6.14.4",
  "node": "10.19.0"
},
"scripts": {
  "build": "cd client amp;amp; yarn install amp;amp; yarn build amp;amp; cd ..",
  "deploy": "cp -a client/build/. public/",
  "heroku-postbuild": "yarn build amp;amp; yarn deploy amp;amp; echo 'Client Built'"
},
  

Вот соответствующие (?) фрагменты моего /client/package.json файла:

 {
  "name": "client",
  "version": "0.1.0",
  "private": true,
  "proxy": "http://localhost:3001",
  "dependencies": {
    ...
  },
  "scripts": {
    "start": "node server.js",
    "dev-start": "react-scripts start",
    "build": "GENERATE_SOURCEMAP=false react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject",
    "gen": "graphql-codegen --config codegen.yml"
  },
  "eslintConfig": {
    "extends": "react-app"
  },
  "browserslist": {
    "production": [
      ">0.2%",
      "not dead",
      "not op_mini all"
    ],
    "development": [
      "last 1 chrome version",
      "last 1 firefox version",
      "last 1 safari version"
    ]
  },
  "devDependencies": {
    ...
  }
}

  

Комментарии:

1. Это может помочь создать ваше приложение и запустить его локально