heroku ./node_modules/bootstrap/dist/js/bootstrap.js Модуль не найден: не удается разрешить 'popper.js' - PullRequest
0 голосов
/ 21 февраля 2019

Привет всем, я новичок в heroku,

Если я клонирую из github repo и запускаю> npm install и> npm start на компьютере, он работает нормально, но в моем приложении heroku выдает ошибку:

Не удалось скомпилировать ./node_modules/bootstrap/dist/js/bootstrap.js Модуль не найден: не удается разрешить 'popper.js' в '/ app / node_modules / bootstrap / dist / js'

Приложение Heroku: https://nfq -barber-shop.herokuapp.com / Репозиторий Github: https://github.com/ezopas/nfq-barber-shop Я пытаюсь выполнить следующие команды:

npm install bootstrap -D
npm install jquery -D
npm install popper.js -D

Но это все та же ошибка.Что мне делать?Мое приложение отлично работает на других компьютерах (npm start).

package.json:

{
  "name": "nfq-barber-shop-app",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "axios": "^0.18.0",
    "bootstrap": "^4.3.1",
    "font-awesome": "^4.7.0",
    "fullcalendar": "^3.10.0",
    "fullcalendar-reactwrapper-with-scheduler": "^1.1.0",
    "jquery.nicescroll": "^3.7.6",
    "moment": "^2.24.0",
    "nav-scroll-spy": "^1.0.2",
    "node-sass": "^4.11.0",
    "react": "^16.8.1",
    "react-dom": "^16.8.1",
    "react-router": "^4.3.1",
    "react-router-dom": "^4.3.1",
    "react-router-redux": "^4.0.8",
    "react-scripts": "2.1.5",
    "redux": "^4.0.1",
    "sweetalert": "^2.1.2"
  },
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject"
  },
  "eslintConfig": {
    "extends": "react-app"
  },
  "browserslist": [
    ">0.2%",
    "not dead",
    "not ie <= 11",
    "not op_mini all"
  ],
  "devDependencies": {
    "jquery": "^3.3.1",
    "popper.js": "^1.14.7"
  }
}

1 Ответ

0 голосов
/ 21 февраля 2019

TLDR

  • Переместите модули в devDependencies в секцию dependencies
  • Установите для переменной конфигурации NPM_CONFIG_PRODUCTION значение false в Herokusettings

Пояснение

Heroku, пытаясь уменьшить выходной пакет вашего проекта, не устанавливает devDependencies при настройке вашего проекта.

Общее правило разработки приложений Node заключается в том, что все модули, которые не участвуют в работе вашего приложения, должны входить в ваш devDependencies, а все модули, входящие в dependencies* 1023.*

Судя по вашему package.json, вам не обязательно помещать что-либо в devDependencies, так как popper и jQuery do относятся к разделу dependencies.

В качестве альтернативы вы можете установить для переменной NPM_CONFIG_PRODUCTION в Heroku значение false, однако это не рекомендуемый подход, поскольку технически это делает приложение , а не рабочим приложением

...