【问题标题】:Heroku is giving me 404 error, only renders "Unkown path"?Heroku 给我 404 错误,只呈现“未知路径”?
【发布时间】:2019-10-12 07:51:40
【问题描述】:

我正在尝试将我的应用程序部署到 heroku,但是当我尝试打开指向它的链接时,唯一呈现的是“未知路径”,错误是“加载资源失败:服务器响应状态404(未找到)”。

我一直在尽可能多地检查路由文件,但我看不出这里有什么不工作的地方。这就是 index.js 文件的样子

import route from './router.js';

import Login from '../ui/pages/user/Login';
import Home from '../ui/Home';
import Register from '../ui/pages/user/Register';
import PostCreate from '../ui/pages/post/PostCreate';
import PostList from '../ui/pages/post/PostList';
import PostEdit from '../ui/pages/post/PostEdit';

route('/', Home, {}, {
    name: 'home'
  });
  route('/login', Login, {}, {
    name: 'login'
  });
  route('/register', Register, {}, {
    name: 'register'
  });
  route('/post/create', PostCreate, {}, {
    name: 'post.create'
  });
  route('/post/list', PostList, {}, {
    name: 'post.list'
  });
  route('/post/edit/:_id', PostEdit, {}, {
    name:'post.edit'
  });

这是 router.js 文件

import { createRouter } from 'meteor/cultofcoders:meteor-react-routing';
import App from '/imports/ui/App.jsx';

export default createRouter(App);

这可能只是我正在使用的路由包的问题吗?

【问题讨论】:

  • 澄清一下——它是默认的 Heroku 404 页面,还是来自您的应用程序的 404 路由?
  • 来自我的应用程序。这是它的链接,如果您想查看它onboarding4cultofcoders.herokuapp.com
  • 很酷,谢谢-当您使用heroku local时它是否有效
  • 嗯控制台给我一个错误说“[WARN] ENOENT:没有这样的文件或目录,打开'Procfile'”?这其实是我第一次尝试heroku local,不知道是什么意思?
  • 啊,是的,所以对于 Heroku,你需要一个叫做 Procfile 的东西。它存储您所有的项目元数据,最重要的是您正在使用的引擎(例如 Node)、构建脚本的命令和入口点的路径。

标签: javascript reactjs heroku meteor routes


【解决方案1】:

我觉得你在使用“错误”的路由器。 cultofcoders:meteor-react-routing 在过去 2 年中似乎没有得到维护,这在反应路由方面是巨大的。你有兴趣尝试"react-router": "^5.0.0""react-router-dom": "^5.0.0" 那么你有类似的东西:

import React from 'react'
import { Switch, Route, Redirect } from 'react-router-dom'
import Component1 from '.....'
import Component2 from '.....'

const Main = location => {
  return (
      <Switch location={location.location}>
        <Route exact path='/' component={Component1} />
        <Route exact path='/something' component={Component2} />
        <Route exact path='/something/:id' component={Component2} /> // route with param
        <Route path='*' component={NotFoundPage} />
        ...........
      </Switch>)
}



【讨论】:

  • 是的,你是对的。我用了你说的,它奏效了。感谢您的反馈。
猜你喜欢
  • 1970-01-01
  • 2019-02-02
  • 1970-01-01
  • 2022-01-14
  • 2015-09-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-08
相关资源
最近更新 更多