Я пишу чат, используя 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
Решил мою глупую проблему:
- Сделал коммит на GitHub, изменив имена файлов на правильные.Это не работает, если я изменяю файлы локально, из-за проблемы, которую я написал выше)
- Сделал git pull
- Теперь Heroku работает:)
НоЯ все еще хочу знать, как решить проблему, написанную выше.