簡體   English   中英

Heroku找不到任何模塊

[英]Heroku cannot find any module

我正在嘗試使用流星和Heroku開發一個webapp。 當我在本地運行代碼時,一切都很好,但是將其部署到Heroku上后,我得到:

找不到模塊'./navbar/NavBar.js'

或者如果我在代碼中放棄了NavBar:

找不到模塊“ ./component/App”

我的項目文件夾如下所示:

project
  client
    main.css
    main.html
    main.js
      component
        App.js
        Games.js
        Home.js
        Workbench.js
        navbar
          NavBar.js

  Server
    main.js

這是我的代碼:

main.js

import React from 'react';
import { Meteor } from 'meteor/meteor';
import { render } from 'react-dom';

import App from './component/App';

Meteor.startup(() => {
  render(<App />, document.getElementById('root'));

});

App.js

import React from 'react';
import {Container} from 'reactstrap';
import {BrowserRouter as Router, Route} from 'react-router-dom';

import Workbench from './Workbench'
import NavBar from './navbar/NavBar.js'

export default class App extends React.Component {
  render(){
    return(
      <Router>
        <div>
        <NavBar/>
          <Container fluid={true}>
            <Route path='/' component={Workbench}/>
          </Container>
        </div>
      </Router>
    )
  }
}

NavBar.js

import React from 'react';
import {nav} from 'react-bootstrap';

export default class NavBar extends React.Component {

  constructor(props){
    super(props);
    this.state = {
      gameList: [{}],
      gamesVisibility: false
    }
  }
  render() {
    const {gameList, gameVisibility} = this.state;

    return (
      <div className="sidenav">
          <h2 className="sidenav-header"><a href="/">Test project</a></h2>
          <ul>
            <li onClick={() => this.setState({gameVisibility: !gameVisibility})}> <a className="SideNavTitle">Games</a> {this.renderArrow(gameVisibility)} </li>
              {this.renderCollection(gameVisibility, gameList)}
            <li className="SideNavItem"><a>Channel</a></li>
            <li className="SideNavItem"><a>About</a></li>
          </ul>
      </div>
    );
  }

  renderCollection(visibility, collection){
      if (visibility){
          return collection.map((game) => <li id = 'test' className="SideNavSubItem"><a>{game.name}</a></li>)
      }
      else{
        return;
      }
  }

  renderArrow(visibility){
    if (visibility){
      return <i className="fa fa-arrow-down" aria-hidden="true" style={{color: 'white'}}/>
    }
    else{
      return <i className="fa fa-arrow-right" aria-hidden="true" style={{color: 'white'}}/>
    }
  }

}

我使用heroku run bash以及cat NavBar.js來確認我的文件是否在帖子中所建議的heroku上。 這有點奇怪,因為代碼可以在本地完美運行

編輯:Heroku上的構建成功,當我嘗試加載頁面時顯示這些錯誤。

經過一些搜索,我發現在heroku上,我有一個Component文件夾和一個component文件夾。 不知道為什么,因為我的流星項目中只有1個文件夾組件。 heroku run bash查找我的問題。

我假設您的項目文件夾包含三個子文件夾(客戶端,組件,服務器)。 在您的main.js文件中使用:

import App from '../component/App'

您正在使用單個“。” 在服務器文件夾中搜索組件文件夾。 您需要使用雙“”來回退。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM