TypeScript 配置
当你运行 wxt prepare 时,WXT 会在 <rootDir>/.wxt/tsconfig.json 为你的项目生成一个基础 TSConfig 文件。
你至少需要在根目录创建一个如下所示的 TSConfig:
jsonc
// <rootDir>/tsconfig.json
{
"extends": ".wxt/tsconfig.json",
}如果你在 monorepo 中,可能不希望继承该配置。如果不继承,则需要将 .wxt/wxt.d.ts 添加到 TypeScript 项目中:
ts
/// <reference path="./.wxt/wxt.d.ts" />编译器选项
要指定自定义编译器选项,请在 <rootDir>/tsconfig.json 中添加:
jsonc
// <rootDir>/tsconfig.json
{
"extends": ".wxt/tsconfig.json",
"compilerOptions": {
"jsx": "preserve",
},
}TSConfig 路径别名
WXT 提供了一组默认的路径别名。
| 别名 | 目标 | 示例 |
|---|---|---|
~~ | <rootDir>/* | import "~~/scripts" |
@@ | <rootDir>/* | import "@@/scripts" |
~ | <srcDir>/* | import { toLowerCase } from "~/utils/strings" |
@ | <srcDir>/* | import { toLowerCase } from "@/utils/strings" |
要添加自定义别名,请不要将它们添加到 tsconfig.json 中!而是使用 wxt.config.ts 中的 alias 选项。
这样会在你下次运行 wxt prepare 时将自定义别名添加到 <rootDir>/.wxt/tsconfig.json 中。同时也会将别名添加到打包工具中,以便它能解析导入路径。
ts
import { resolve } from 'node:path';
export default defineConfig({
alias: {
// 目录:
testing: resolve('utils/testing'),
// 文件:
strings: resolve('utils/strings.ts'),
},
});ts
import { fakeTab } from 'testing/fake-objects';
import { toLowerCase } from 'strings';