Reactjs 反应+;船帆:装卸路线

Reactjs 反应+;船帆:装卸路线,reactjs,sails.js,Reactjs,Sails.js,我正在使用Sails和React开发一个web应用程序。我使用sails的主要目的是利用MVC模式,同时响应服务视图。因为,Sails提供了自己的路由,但我想改用我的React路由器 例如:在react router中,我们有NotFoundRoute,因此当我访问一个不存在的页面时,它应该显示我为NotFoundRoute定义的处理程序。取而代之的是,它向我展示了sails 404页面 那么,当我想使用我的航线时,如何控制帆船航线呢 反应路线 var JSX = require('babel/

我正在使用Sails和React开发一个web应用程序。我使用sails的主要目的是利用MVC模式,同时响应服务视图。因为,Sails提供了自己的路由,但我想改用我的React路由器

例如:在react router中,我们有
NotFoundRoute
,因此当我访问一个不存在的页面时,它应该显示我为
NotFoundRoute
定义的处理程序。取而代之的是,它向我展示了sails 404页面

那么,当我想使用我的航线时,如何控制帆船航线呢

反应路线

var JSX = require('babel/register'),
    React = require('react'),
    Router = require('react-router'),
    DefaultRoute = Router.DefaultRoute,
    NotFoundRoute = Router.NotFoundRoute,
    Route = Router.Route;


var routes = (
        <Route name="splash" path="/" handler={require('../main')}>
            <DefaultRoute handler={require('../components/Signup/signup')} />   
            <Route name="signup" path="/user/signup" handler={require('../components/Signup/signup')} />    
            <Route name="home" path="/user/home/:id" handler={require('../components/Home/home')} />
            <NotFoundRoute handler={require('../components/commons/notFound')} />
        </Route>
    );

module.exports = routes;
module.exports.routes = {


  '/': {
    view: 'homepage'
  },

  '/user/home/:id' : 'UserController.home'


};
我对这个框架完全陌生,无法在网上找到足够的资源。很抱歉这个愚蠢的问题

module.exports.routes = {
  '/': {
    view: 'homepage'
  },
  '/user/home/:id' : 'UserController.home'
  '/*' : 'ReactApp.home'
};
您需要创建一个通配符路由,以便在api路由丢失时呈现react应用程序

灵感来自

  • 使用Sails new mySailsApp创建新的Sails应用程序
  • 清除mySailsApp/assets文件夹的内容
  • 将myReactApp/dist文件夹的内容复制到mySailsApp/assets中
  • 将mySailsapp/views/layout.ejs的内容替换为myReactApp/dist/index.html文件的内容
  • 从layout.ejs文件中剪切所有非脚本标记内容(在
    标记之后和第一个
    标记之前的所有内容),并使用它替换mySailsApp/views/homepage.ejs的内容
  • 放在layout.ejs中的
    标记之后
  • 在config/routes.js中,放置:

    module.exports.routes = {
      '/*': {
        view: 'homepage',
        skipAssets: true
      }
    }
    

    然后,您可以使用sails lift启动服务器,您将在上看到React应用程序。

    虽然这是一个较老的问题,但在近5年后仍然相关


    我最近公开了的一个基本配置,它可能对任何可能遇到此问题的人都有用。

    显示您的Sails路由器代码。可能的问题是您没有告诉Sails为所有人服务(通配符)来自React应用程序的
    index.html
    的请求。@elithrar如你所问,我已添加了我的帆船路线。请告诉我。我需要做什么修改。请参阅-使用通配符路线-
    /*
    -在你的
    用户控制器
    路线之后。同构路线如何?如果你已经有其他API路线,你必须将此属性添加到新路由:skipRegex://^\/api\/*$/