将 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 您可以查看应用程序的完整结构,包括测试的组织方式。
我已经安装了 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 您可以查看应用程序的完整结构,包括测试的组织方式。