首页 > 解决方案 > Jest config (TypeScript): 类型 '{ __PATH_PREFIX__: string; }' 不可分配给类型 'string | 细绳[]'

问题描述

我决定使用带有ts-jest/prests包的 TypeScript 为我的 Gatsby 站点编写 Jest 配置。

我在globals下面的代码中的分配中遇到 TypeScript 错误:

import type { InitialOptionsTsJest } from 'ts-jest/dist/types'
import { jsWithBabel as tsjPreset } from 'ts-jest/presets'

const config: InitialOptionsTsJest = {
  transform: {
    ...tsjPreset.transform,
  },
  testEnvironment: 'node',
  moduleNameMapper: {
    '.+\\.(css|styl|less|sass|scss)$': `identity-obj-proxy`,
    '.+\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$': `<rootDir>/__mocks__/file-mock.js`,
    testPathIgnorePatterns: [`node_modules`, `\\.cache`, `<rootDir>.*/public`],
    transformIgnorePatterns: [`node_modules/(?!(gatsby)/)`],
    globals: {
      __PATH_PREFIX__: '',
    },
    testURL: `http://localhost`,
    setupFiles: [`<rootDir>/loadershim.js`],
  },
}

export default config

错误:

输入'{ PATH_PREFIX : any; }' 不可分配给类型 'string | 细绳[]'。对象字面量只能指定已知属性,并且类型“string[]”中不存在“ PATH_PREFIX ”。ts (2322) Config.d.ts(135, 9):预期类型来自此索引签名。

我是 TypeScript 的新手,所以我不确定如何纠正这个问题。Gatsby 需要该globals属性__PATH_PREFIX__来测试某些组件

标签: typescriptjestjsgatsbyts-jest

解决方案


推荐阅读