我有以下文件结构:
// ./src/products/index.ts
export * as commonPages from "./pages";
// ./src/index.ts
export * as products from "./products";
// tsconfig.json
"paths": {
"@scrib/qa": ["./src/index.ts"],
}
// ./src/products/product/homePage.ts
import { products } from "@scrib/qa";
export class HomePage extends products.commonPages.BasePage {...}
编译时我收到错误:
TypeError: Cannot read properties of undefined (reading 'commonPages')
at ..\..\..\src\products\product\homePage.ts:6
> 6 | export class HomePage extends products.commonPages.BasePage {
它抱怨products
未定义。我究竟做错了什么?
paths
仅设置和编译tsc
不会更改发出的导入以使用这些路径。这意味着它们不会起作用。来自文档:
像vite或webpack这样的捆绑器有一些插件可以读取 typescript 配置并修改导入以供您匹配。但
tsc
不会。如果没有看到所有 tsconfig.json,很难说,但看起来您可能缺少 baseUrl 属性:
尝试将其设置为:
"baseUrl": ".",
/* 指定解析非相对模块名称的基目录。*/
这说将其设置为
./
但.
对我有用。