【问题标题】:Create subfolders in Sails.js /api/controllers在 Sails.js /api/controllers 中创建子文件夹
【发布时间】:2015-02-06 18:07:12
【问题描述】:

这是我的问题:我想在 /api/controllers 中创建一些子文件夹,以便组织我的源代码。我的问题是,一旦我创建了一个新文件夹,blueprint api/routes/actions 似乎就不再起作用了。

从我的所有测试中,如果我将 /api/controller/UserController.js 更改为 /api/controller/newpath/UserController.js,我将无法再发挥蓝图的美感。

有没有办法做到这一点?

谢谢 伊曼纽尔

【问题讨论】:

    标签: node.js sails.js


    【解决方案1】:

    您可以进行设置。它有点无证,但你可以在你的控制器上设置一个“_config”对象

    api/controllers/subFolder/YourController.js
    ...
    module.exports = {
      _config: {
        model: 'YourModel' // case sensitive
        actions: true,
        shortcuts: true,
        rest: true
      }
    }
    

    看看这个答案 https://stackoverflow.com/a/22062367/1821723

    【讨论】:

    • 感谢您的回复,但它似乎区分大小写,并且'YourModel'必须写成'yourModel'!我在这个错误上花了几个小时。默认情况下启用操作、快捷方式和其余配置属性。
    【解决方案2】:

    2016 年 1 月更新

    从 0.10.0 版本开始,您绝对可以做到这一点。

    控制器身份是它的路径,在您的情况下为newPath/UserController。所以自定义路由config/routes.js 会是这样的:

    'GET /newPath/user': 'newPath/UserController'
    

    自动操作仍然有效。您也可以使用sails generate controller newPath/user 创建这样的控制器。

    【讨论】:

      【解决方案3】:

      你可以配置 routes.js 如下

      //application
      'post /:api_key/applications'         : 'Threescale.Application.create',
      'get /:api_key/check_api_key'         : 'Threescale.Application.check',
      'get /:token/manager_list_accounts'   : 'Threescale.Account.list',
      'put /:token/manager_approve_account' : 'Threescale.User.activate', 
      

      在 api/controllers 下,您可以管理子文件夹和操作:

      Threescale
          Application
              - create.js
              - check.js
          Account
              - list.js
          User
              - activate.js
      

      希望对你有帮助!

      【讨论】:

        【解决方案4】:

        你是对的。 尽管您可以尝试这种方法,但它并不是开箱即用的:

        在你models/User.js设置identity: "newpath/user"

        希望对你有帮助!

        【讨论】:

        • 对我不起作用,它在控制器端而不是模型端。访问控制器的路径是 /newpath/modelName 在 NameController.js 中添加 _config 对象,mode 属性带有模型的名称,小写
        猜你喜欢
        • 2018-12-02
        • 1970-01-01
        • 1970-01-01
        • 2016-12-09
        • 1970-01-01
        • 2017-01-27
        • 2012-06-03
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多