Получение сообщения об ошибке «Модуль не найден: не удается разрешить файл« ./User.scss »при запуске heroku-postbuild - PullRequest
0 голосов
/ 22 декабря 2018

Я пишу чат, используя React / Redux / Firebase

У меня следующая структура:

components
 User
  index.js
  User.scss
  UserHeader.js
  UserItem.js
  UserList.js
  UserSerach.js
 Message
  index.js
  Message.scss
  MessageList.js
  ...

Все стили компонентов типа «Пользователь» находятся в файле «Пользователь».scss я не уверен что правильно.Я не люблю много папок с компонентами

Мои действия:

git add .
git commit --amend --no-edit
heroku create
heroku git:remote -a project-name
git push heroku master

В файле package.json я также пишу:

"engines": {
    "npm": "6.4.1",
    "node": "10.14.2"
}

Иначать производство после установки пакетов:

"heroku-postbuild": "npm run serve"

Во время установки пакета heroku я получаю сообщение об ошибке:

ERROR in ./src/components/User/UserHeader.js
remote:        Module not found: Error: Can't resolve './User.scss' in '/tmp/build_0467563cc44feeb52e4f8bb96c6f75fa/src/components/User'
remote:         @ ./src/components/User/UserHeader.js 3:0-33 8:15-21 10:15-21 14:15-21 16:15-21 19:15-21
remote:         @ ./src/components/User/index.js
remote:         @ ./src/components/Chat/Chat.js
remote:         @ ./src/components/Chat/index.js
remote:         @ ./src/components/App/App.js
remote:         @ ./src/components/App/index.js
remote:         @ ./src/index.js

Но я импортировал файл User.scss:

import styles from './User.scss';

Та же ошибка выскакивает для других компонентов пользователя.Но у меня такая же структура с одним файлом scss в компонентах Message, и ошибок нет.

Стили в конфигурации веб-пакета:

{
  test: /\.(sa|sc|c)ss$/,
  use: [
    devMode ? 'style-loader' : MiniCssExtractPlugin.loader,
    {
      loader: 'css-loader',
      options: {
        modules: true,
      }
    },
    {
      loader: 'postcss-loader',
      options: {
        ident: 'postcss',
        plugins: () => [
          autoprefixer({
            browsers: [
              '>1%',
              'last 4 versions',
              'Firefox ESR',
              'not ie < 9'
            ],
            flexbox: 'no-2009'
          })
        ]
      }
    },
  'sass-loader'
  ]
}

Я уже пробовал несколько других настроек стиля -та же ошибка.

Редактировать

Я обнаружил, что ошибка была в имени файла scss (user.scss => User.scss).Но я получаю ту же ошибку.

У меня была ошибка, которую я исправил после прочтения того, что веб-пакет, консоль Windows или Heroku (я не помню) кэширует файлы.И когда вы меняете их местоположение или названия для Heroku, они не меняются.Что-то было так, но я не помню.

Мне нужно что-то ввести в консоль, чтобы учитывались изменения в файлах и путях.Может кто-то знает?

Редактировать 2

Решил мою глупую проблему:

  1. Сделал коммит на GitHub, изменив имена файлов на правильные.Это не работает, если я изменяю файлы локально, из-за проблемы, которую я написал выше)
  2. Сделал git pull
  3. Теперь Heroku работает:)

НоЯ все еще хочу знать, как решить проблему, написанную выше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...