开玩笑说 vitest 迁移错误;相当于 moduleNameMapper

mei*_*sam 16 reactjs jestjs vitest

我正在尝试从 jest 迁移到 vitest。在某些时候我收到此错误: Syntax Error: Invalid or unexpected token

我们项目中的一个包似乎有这一行导致了问题:

require("./lib/somefont.woff")
Run Code Online (Sandbox Code Playgroud)

我检查了 jest,jest 有这一行解决了这个问题:

"moduleNameMapper": {
      "\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "<rootDir>/__mocks__/fileMock.js",
      "\\.(css|less|scss|sass)$": "identity-obj-proxy"
    },
Run Code Online (Sandbox Code Playgroud)

我想知道如何解决 vitest 中的问题?vitest 中是否有等效的 moduleNameMapper ?

小智 0

用于import导入字体

import "./lib/somefont.woff"
Run Code Online (Sandbox Code Playgroud)

尝试设置alias配置vitest.config.js

import { defineConfig } from 'vite'
export default defineConfig({
  test: {
    globals: true,
    environment: "jsdom",
    alias: {
      ".*\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$": "<rootDir>/__mocks__/fileMock.js",
    },
  },
});
Run Code Online (Sandbox Code Playgroud)