首页 > 解决方案 > Jests 转换器不转换 GraphQL

问题描述

尝试运行为 Typescript 配置的 NUXT 项目时,我不断收到以下错误...

/Users/brendan.arnold/Developer/vue-book/node_modules/@mydomain/graphql-schemas-online/online.graphql:1
    ({"Object.<anonymous>":function(module,exports,require,__dirname,__filename,global,jest){"""
                                                                                               ^

    SyntaxError: Invalid or unexpected token

    > 1 | import typeDef from '@mydomain/graphql-schemas-online/online.graphql'
        | ^
      2 | 
      3 | export { typeDef }
      4 | 

      at Runtime.createScriptFromCode (node_modules/jest-runtime/build/index.js:1350:14)

我已将变压器配置如下...

module.exports = {
  moduleNameMapper: {
    '^@/(.*)$': '<rootDir>/src/$1',
    '^~/(.*)$': '<rootDir>/src/$1',
    '^vue$': 'vue/dist/vue.common.js'
  },
  moduleFileExtensions: ['ts', 'js', 'vue', 'json', 'graphql'],
  transform: {
    '\\.graphql$': 'jest-transform-graphql',
    '\\.vue$': 'vue-jest',
    '\\.ts$': 'ts-jest',
    '\\.js$': 'babel-jest'
  },
  // ...
  preset: 'ts-jest',
  // ...
  globals: {
    'ts-jest': {
      compiler: 'ttypescript'
    }
  },
  // ...
}

我尝试的任何方法似乎都不起作用。我可以通过按照文档中的建议将模式设置为读取 JSON 文件时出错,babel-jest尽管'.*': 'babel-jest'tsconfig.json设置为"resolveJsonModule": true

我打算如何配置它?

标签: typescriptvue.jsjestjsgraphqlnuxt.js

解决方案


推荐阅读