【问题标题】:graphql-tag/loader: Module build failed with GraphQLError: Syntax Errorgraphql-tag/loader:模块构建失败并出现 GraphQLError:语法错误
【发布时间】:2019-04-08 00:28:14
【问题描述】:

我面临的奇怪问题。使用 Vue-CLI3 npm run serve

有以下配置:

// vue.config.js
module.exports = {
  chainWebpack: config => {
    // GraphQL Loader
    config.module
      .rule('graphql')
      .test(/\.graphql$/)
      .use('graphql-tag/loader')
      .loader('graphql-tag/loader')
      .end();
  }
};

还有一个.graphql 文件:

mutation AddOfficeMutation(
    $name: String
    $location: String
  ) {
    createOffice(
      input: {office: { name: $name, location: $location }}
    ) {
      office {
        id
        name
        location
      }
    }
  }

运行npm run serve时,出现以下错误:

ERROR  Failed to compile with 1 errors                                                                                                                                                           1:11:08 PM

 error  in ./src/graphql/AddOfficeMutation.graphql

Module build failed (from ./node_modules/graphql-tag/loader.js):
GraphQLError: Syntax Error: Unexpected Name "var"
    at syntaxError (/Users/danroc/Dropbox/projects/tal-firebase/client-vue/node_modules/graphql/error/syntaxError.js:24:10)
    at unexpected (/Users/danroc/Dropbox/projects/tal-firebase/client-vue/node_modules/graphql/language/parser.js:1490:33)
    at parseDefinition (/Users/danroc/Dropbox/projects/tal-firebase/client-vue/node_modules/graphql/language/parser.js:153:9)
    at many (/Users/danroc/Dropbox/projects/tal-firebase/client-vue/node_modules/graphql/language/parser.js:1520:16)
    at parseDocument (/Users/danroc/Dropbox/projects/tal-firebase/client-vue/node_modules/graphql/language/parser.js:113:18)
    at parse (/Users/danroc/Dropbox/projects/tal-firebase/client-vue/node_modules/graphql/language/parser.js:48:10)
    at parseDocument (/Users/danroc/Dropbox/projects/tal-firebase/client-vue/node_modules/graphql-tag/src/index.js:129:16)
    at gql (/Users/danroc/Dropbox/projects/tal-firebase/client-vue/node_modules/graphql-tag/src/index.js:170:10)
    at Object.module.exports (/Users/danroc/Dropbox/projects/tal-firebase/client-vue/node_modules/graphql-tag/loader.js:44:18)

 @ ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/components/AddOfficeForm.vue?vue&type=script&lang=js& 29:0-69 59:18-35
 @ ./src/components/AddOfficeForm.vue?vue&type=script&lang=js&
 @ ./src/components/AddOfficeForm.vue
 @ ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/views/AddOfficeView.vue?vue&type=script&lang=js&
 @ ./src/views/AddOfficeView.vue?vue&type=script&lang=js&
 @ ./src/views/AddOfficeView.vue
 @ ./src/router/routes.js
 @ ./src/router/router-config.js
 @ ./src/main.js
 @ multi ./node_modules/@vue/cli-service/node_modules/webpack-dev-server/client?http://192.168.0.99:8080/sockjs-node (webpack)/hot/dev-server.js ./src/main.js

使用:

  • “graphql”:“^14.0.2”
  • “graphql-tag”:“^2.10.0”

我慢慢假设这可能是我的 Babel 或 Vue 配置错误? 任何人都可以对此有所了解吗?

谢谢!

【问题讨论】:

  • 你在使用vue-cli-plugin-apollo吗?
  • 是的,我用vue add apollo添加了它
  • 我认为插件已经在加载 graphql-tag/loader 并且您通过自定义 webpack 规则运行它两次。您是否尝试过不使用自定义规则并将文件重命名为 .gql?
  • 谢谢,我想就是这样。我重新创建了项目,并没有将规则添加到 vue.config.js,它工作正常!

标签: vue.js webpack graphql babeljs graphql-tag


【解决方案1】:

我遇到了同样的问题,似乎有 2 个加载程序会导致崩溃。

我已经安装了graphql-tagwebpack-graphql-loader

尝试卸载所有包含 apollo 或 graphql 的软件包,然后再次使用 vue cli 重新安装。 vue add apollo。它对我有用。

【讨论】:

    猜你喜欢
    • 2017-10-29
    • 1970-01-01
    • 2019-12-15
    • 2018-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-18
    • 2019-08-01
    相关资源
    最近更新 更多