Webpack导入所有文件并将其导出为数组

时间:2019-03-17 20:04:16

标签: node.js webpack graphql

因此,我正在使用Graphql,并且进行了模式拼接,索引文件看起来很长。举个小例子:

import userSchema from "./user";
import hobbiesSchema from "./hobbies";
import jobSchema from "./job";
import petSchema from "./pet";


const linkSchema = gql`
  scalar Date

  type Query {
    _: Boolean
  }
  type Mutation {
    _: Boolean
  }
  type Subscription {
    _: Boolean
  }
`;

export default [
  linkSchema,
  userSchema,
  petSchema,
  jobSchema,
  hobbiesSchema,
];

如果我打算再添加20个以上的模式,这将变得非常长!我想要一种将所有文件添加到目录中,然后能够将其导出的方法。因此,我已经看到很多相同答案的实例:

const context = require.context('.', true, /^\.\/(?!index\.js).*\.js$/, 'sync');

let schemas = {};
context.keys().forEach(module => {
  schemas[module] = context(module);
});

因此,我尝试将其放入数组中并将其作为所有模式的数组导出,从而将数组中的每个模块推入数组并在底部导出。我以为这可以用,但不能用,我想知道为什么吗?我收到错误消息。

我的模式以

的形式定义和导出
export default gql`
  //schema stuff
`

我尝试对解析器分别进行相同的操作,因为索引文件看起来几乎与架构索引文件完全相同,并且出现错误“ [[错误:在解析器中定义了默认值,但在架构中没有定义]””

1 个答案:

答案 0 :(得分:0)

显然,我要做的就是将.default添加到context(module)!

guess == list[mid] == list[high] == list[1] == 3