Sails.js 在sails中,将控制器设置为默认路线,而不是视图

Sails.js 在sails中,将控制器设置为默认路线,而不是视图,sails.js,Sails.js,在config/routes.js中,当需要控制器而不是视图时会发生什么 module.exports.routes = { '/': { view: 'index' } }; 基本上我想加载一些数据的索引页,但我不能,因为没有控制器,此外,我想有其他网页,如关于,联系等。。。但是我更喜欢把它们放在PublicController而不是routes.js上,因为您的评论显示您可以在路由中指定控制器和操作 在控制器中,可以指定要渲染的视图 PublicController.j

在config/routes.js中,当需要控制器而不是视图时会发生什么

module.exports.routes = {

  '/': {
    view: 'index'
  }

};

基本上我想加载一些数据的索引页,但我不能,因为没有控制器,此外,我想有其他网页,如关于,联系等。。。但是我更喜欢把它们放在PublicController而不是routes.js上,因为您的评论显示您可以在路由中指定控制器和操作

在控制器中,可以指定要渲染的视图

PublicController.js
module.exports = {
    randomAction : function(req,res,next){

       res.view('./randomActionViewFile');

    }
}

注意:如果视图文件已在文件夹结构api/views/public/randaomActionFile.ext中,则无需执行此操作。相反,您可以只使用res.ok

,因为您的注释表明您可以在路由中指定控制器、操作

在控制器中,可以指定要渲染的视图

PublicController.js
module.exports = {
    randomAction : function(req,res,next){

       res.view('./randomActionViewFile');

    }
}

注意:如果视图文件已在文件夹结构api/views/public/randaomActionFile.ext中,则无需执行此操作。相反,你可以使用res.ok

如果我得到你的问题,可能你正在寻找这样的东西

module.exports.routes = {
    '/': {
        controller: 'User',
        action: 'actionName'
    }
};
起初我没有注意到你的评论。如果您想将所有这些部分放在不同的路径下,比如/about-for-about-section,那么没有简单的方法

但是,是的,我已经使用React.js前端框架完成了这项工作,您可以使用React routes在单个视图文件中定义路由。不需要在routes.js中定义。仅从一个控制器渲染该单个文件将使您能够使用该视图文件中定义的所有路由。不能告诉你任何其他的方式


希望有帮助。

如果我听到你的问题,可能是你在找这样的东西

module.exports.routes = {
    '/': {
        controller: 'User',
        action: 'actionName'
    }
};
起初我没有注意到你的评论。如果您想将所有这些部分放在不同的路径下,比如/about-for-about-section,那么没有简单的方法

但是,是的,我已经使用React.js前端框架完成了这项工作,您可以使用React routes在单个视图文件中定义路由。不需要在routes.js中定义。仅从一个控制器渲染该单个文件将使您能够使用该视图文件中定义的所有路由。不能告诉你任何其他的方式


希望能有所帮助。

为了回答我的部分问题,我设法将视图替换为控制器:“public”,操作:“index”,这样我就可以使用PublicController了。我仍然想知道是否有一种方法可以让它不采取行动就工作!为了回答我的部分问题,我设法将视图替换为控制器:“public”,操作:“index”,这允许我使用PublicController。我仍然想知道是否有一种方法可以让它不采取行动就工作!