将 graphql 突变放在 Sails 中的什么位置?

Where to put graphql mutations in Sails?

我已经安装了 npm sails-graphql,但我不知道在哪里放置突变,在网上冲浪我发现了 nodejs 示例,其中他们在 index.js 中添加了突变,但在 sails 中有没有这样的文件。 提前致谢。

如果在控制器中指定,sails-graphql 适配器会自动为 /api/models 中的所有模型创建一个带有突变的模式:

        // api/controllers/GraphQLController.js
        var graphql = require("graphql");
        var sailsGraphQL = require("sails-graphql");
        ...
        if (!schema) {
        schema = sailsGraphQL.generateSchema(sails.models);
        }
        ...

在这种情况下,无需手动添加突变。 参见 https://www.npmjs.com/package/sails-graphql#usage

尽管如果您想编辑生成的模式,更好的选择是使用所需语言的 graphql 实现并手动加载突变。

在搜索了组织 SailsJS + GraphQL 应用程序的最佳方式并尝试了多种变体之后,我们决定使用的最佳方式是创建一个 graphql 文件夹,并在其中创建一个我们应用程序模型中每个实体的文件夹。我们将实体的查询和变更、类型和实用程序存储在实体文件夹中。

Here 您可以查看应用程序的完整结构,包括测试的组织方式。