原生运行程序手动模拟通过 export * 重新导出的导出文件
作者: harshit-d3v创建于 2026年9月16日更新于 2026年9月16日
描述错误
用 " 实验.viteModuleRunner:假 " ,一个手动模拟模块,用 " export QQ " 再出口将失去再出口名称。
//基数.ts 从Base () { 返回' base' } 导出函数
// star.ts (韩语). 从 “./ base.ts” 导出 * 导出函数 own () { 返回 “ own ”)}
// star. test.ts (英语). 从“./star.ts”导入{从Base, 自有} vi.mock(进口('./star.ts'), () {{({) 自己:() ‘被蒙蔽', 从Base: () QQ'mocked-base', (e))
测试('x', () {{{} expect( own ()) to be( “ mocked- own' ) // 确定 期望( 来自Base ()) toBe('mocked- base' ) // TypeError: from 基础不是一个函数 ) (中文(简体) ).
标准 :
[模块嘲笑] 解析从./star. ts导入的"./base.ts"失败: TypeError [ERR INVALID URL SCHEM]: URL必须是方案文件
因为...
`packages/mocker/src/node/parsers.ts'中的`parseModule':在收集`export'目标出口时,`resolveModuleFormat(resolvedModulePath,代码)'通过一个文件系统路径,但`resolveModuleFormat(url,代码)'将其交给`findPackageJSON',这需要`文件:'URL和投掷。 后再出口被撤销.
同样的功能也警告“不能处理”......,因为每个非JSON文件的文件扩展名未知,因为“else”分支运行的扩展名不是`.json',包括`.ts'和`.js'。
* 复制
上面的三个文件,`Experimental.viteModuleRunner:假'在配置中,`npxvitest run'。
QQ 系统信息
vitest 5.0.1 (中文(简体) ). 节点 22.1.8. 赢32 x64
使用过的软件包管理器
无
校验
- [x] 遵循我们的行为守则
- [x] 阅读贡献准则
- [x] 读取文件
- [x] 请检查date=中的日期值 (帮助)
- [x] 请检查date=中的日期值 (帮助)
- [x] 提供的复制是bug 的最小可复制的例子
我有一个单行固定, 在一个分支上的固定测试。 我会打开公关,一旦#11295解决, 因为外部贡献者得到一个公开公关一次。 Claude帮助我找到并验证了这一点.内容来源: vitest-dev/vitest