Хостинг на Heroku с Node и Webpack - модуль не найден, не удается разрешить './Navbar' - PullRequest
1 голос
/ 09 марта 2019

EDIT: Оказывается, Git нечувствителен к регистру, и шаблон, из которого я построил, имел navbar.js, который я переименовал в Navbar.js (потому что это компонент React).Исправлено глобально в bash: git config core.ignorecase false (как видно здесь ).


Хорошо, так что очень простая версия этой же страницы была скомпилирована и запущена для меня парунедели назад;затем все, что я добавил, было довольно простым CSS и React, и Heroku пришел в ярость!Я наконец-то получил либо развернуть чистую страницу или , чтобы запустить мой скрипт сборки (без завершения), но я не могу заставить его делать и то, и другое вместе, или фактически загружать мойдва компонента.

Heroku выдает эту ошибку:

webpack is watching the files…

       Hash: ab702c072913a23f1d64
       Version: webpack 4.16.4
       Time: 4912ms
       Built at: 03/09/2019 4:19:00 AM
                        Asset      Size  Chunks             Chunk Names
           ./public/bundle.js  1.72 MiB    main  [emitted]  main
       ./public/bundle.js.map  1.65 MiB    main  [emitted]  main
       Entrypoint main = ./public/bundle.js ./public/bundle.js.map
       [0] multi @babel/polyfill ./client/index.js 40 bytes {main} [built]
       [./client/app.js] 750 bytes {main} [built]
       [./client/history.js] 565 bytes {main} [built]
       [./client/index.js] 830 bytes {main} [built]
       [./client/routes.js] 3.57 KiB {main} [built]
       [./client/socket.js] 449 bytes {main} [built]
       [./client/store/index.js] 927 bytes {main} [built]
       [./node_modules/webpack/buildin/global.js] (webpack)/buildin/global.js 509 bytes {main} [built]
       [./node_modules/webpack/buildin/harmony-module.js] (webpack)/buildin/harmony-module.js 573 bytes {main} [built]
       [./node_modules/webpack/buildin/module.js] (webpack)/buildin/module.js 519 bytes {main} [built]
       [1] ws (ignored) 15 bytes {main} [optional] [built]
           + 491 hidden modules

       ERROR in ./client/components/index.js
       Module not found: Error: Can't resolve './Navbar' in '/tmp/build_b232611899d2d986bee399a971bd84b4/client/components'
       @ ./client/components/index.js 21:37-56
       @ ./client/app.js
       @ ./client/index.js
       @ multi @babel/polyfill ./client/index.js

client / components / index.js состоит только из:

export {default as Landing} from './Landing'
export {default as Navbar} from './Navbar'

client / app.js такжедовольно голые кости:

import React from 'react'
import {Navbar, Landing} from './components'
import Routes from './routes'

const App = () => {
  return (
    <div>
      <Navbar />
      <Landing />
      <Routes />
    </div>
  )
}

export default App

client / index.js даже не касается непосредственно Navbar, который он не может разрешить:

import React from 'react'
import ReactDOM from 'react-dom'
import {Provider} from 'react-redux'
import {Router} from 'react-router-dom'
import history from './history'
import store from './store'
import App from './app'

import './socket'

ReactDOM.render(
  <Provider store={store}>
    <Router history={history}>
      <App />
    </Router>
  </Provider>,
  document.getElementById('app')
)

Navbar.js также кажется правдоподобным:

import React from 'react'
import {connect} from 'react-redux'

const Navbar = () => (
  <nav id="navbar">
    <p>MY FULL NAME</p>
  </nav>
)

export default connect(Navbar)

Что еще полезно?Соответствующие сценарии package.json?

"start": "NODE_ENV='development' npm run start-server",
"build-client-watch": "webpack -w",
"start-server": "nodemon server -e html,js,scss --ignore public --ignore client",
"postinstall": "NODE_ENV='development' npm run build-client-watch"

У меня далеко позади идеи.Что-нибудь?Большое спасибо!

1 Ответ

0 голосов
/ 09 марта 2019

Ваш вызов по пути к каталогу "./Navbar" в app.js может быть неправильным.Эта проблема возникает из-за несоответствия каталогов.Просто вставьте сюда полный путь к каталогу, чтобы точно найти решение?

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