相关疑难解决方法(0)

Vitest - @src 文件夹别名在测试文件中未解析

我有一个使用 Vite/Vitest 的 vue3 项目,如 Vue.js 文档中的推荐。

这是该项目的结构:

src
  components
    // my Vue components here, potentially in sub-folders. For example:
    HelloWorld.vue 
  router
    index.ts
  App.vue
  main.ts
vitest
  components
    // My test specs. For example:
    HelloWorld.spec.ts
// ...
tsconfig.app.json
tsconfig.json
tsconfig.vite-config.json
tsconfig.vitest.json
vite.config.ts
Run Code Online (Sandbox Code Playgroud)

@/文件夹的别名在src组件文件中正确解析。但是,在我的测试文件中,我收到错误:找不到模块。

例如,在HelloWorld.spec.ts

src
  components
    // my Vue components here, potentially in sub-folders. For example:
    HelloWorld.vue 
  router
    index.ts
  App.vue
  main.ts
vitest
  components
    // My test specs. For example:
    HelloWorld.spec.ts
// ...
tsconfig.app.json
tsconfig.json
tsconfig.vite-config.json
tsconfig.vitest.json …
Run Code Online (Sandbox Code Playgroud)

typescript vuejs3 vite vitest

34
推荐指数
3
解决办法
3万
查看次数

`Vue3 - Vite` 项目别名 src 到 @ 不起作用

我已经通过vue3 - vite导入组件安装了该项目,例如

import Component from '../../../../components/Component.vue'

我只想给 src 文件夹取别名然后做

import Component from '@/components/Component.vue'

这是我的vite.config.js

import vue from '@vitejs/plugin-vue'

/**
 * https://vitejs.dev/config/
 * @type {import('vite').UserConfig}
 */
export default {
    plugins: [
        vue({
            template: {
                compilerOptions: {
                    // ...
                }
            }
        })
    ]
}
Run Code Online (Sandbox Code Playgroud)

我错过了什么吗?我还应该做什么?

javascript vue.js

17
推荐指数
5
解决办法
9354
查看次数

Vue 项目中 vitest 的预期测试结构是什么?

我通过npm init vue@latest(使用vitest)创建了一个新的 Vue 项目。里面./src/components是一个__test__包含组件单元测试的目录。

\n

如果你想测试你的视图文件,是否打算__test__为该目录创建另一个目录?./src/views

\n

因此,当使用按类型结构的文件夹时(您可能还想按功能结构使用文件夹),项目可能看起来像

\n
src\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 components\n\xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 MyComponent.vue\n\xe2\x94\x82   \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 __test__\n\xe2\x94\x82       \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 MyComponent.spec.vue\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 views\n    \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 MyView1.vue\n    \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 MyView2.vue\n    \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 __test__\n        \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 MyView1.spec.vue\n        \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 MyView2.spec.vue\n
Run Code Online (Sandbox Code Playgroud)\n

请不要误会我的意思,这不是个人喜好的问题。我只是想知道 vitest 希望我如何做到这一点。

\n

因为当__test__我的代码旁边有一个目录时,为什么不将规范文件放在代码旁边并删除该目录呢?

\n

例如

\n
src\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 components\n\xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 MyComponent.vue\n\xe2\x94\x82   \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 MyComponent.spec.vue\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 views\n    \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 MyView1.vue\n    \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 MyView1.spec.vue\n    \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 MyView2.vue\n    \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 MyView2.spec.vue\n
Run Code Online (Sandbox Code Playgroud)\n

如果有人能够解释在 Vue 项目中使用 vitest 的“常见”方式,那就太好了,因为到目前为止,我在test该目录旁边添加了一个目录src并镜像了结构,但似乎 vitest/Vue 更喜欢一种不同的方法。

\n

这也可能与 …

javascript vue.js vitest

7
推荐指数
1
解决办法
4304
查看次数

标签 统计

javascript ×2

vitest ×2

vue.js ×2

typescript ×1

vite ×1

vuejs3 ×1