WXT浏览器插件开发中文教程(11)----WXT配置详解之TypeScript 配置

前言

大家好,我是倔强青铜三 。是一名热情的软件工程师,我热衷于分享和传播IT技术,致力于通过我的知识和技能推动技术交流与创新,欢迎关注我,微信公众号:倔强青铜三。欢迎点赞、收藏、关注,一键三连!!!

TypeScript 配置 [​](#TypeScript 配置 "#typescript-configuration")

当你运行wxt prepare时,WXT会在你的项目根目录下生成一个基础的TSConfig文件,位于<rootDir>/.wxt/tsconfig.json

至少,你需要在根目录下创建一个TSConfig,内容如下:

json 复制代码
// <rootDir>/tsconfig.json
{
  "extends": ".wxt/tsconfig.json",
}

如果你处于一个单体仓库中,可能不希望扩展配置。如果不扩展配置,你需要将.wxt/wxt.d.ts添加到TypeScript项目中:

ts 复制代码
/// <reference path="./.wxt/wxt.d.ts" />

编译器选项

要指定自定义编译器选项,请在<rootDir>/tsconfig.json中添加它们:

json 复制代码
// <rootDir>/tsconfig.json
{
  "extends": ".wxt/tsconfig.json",
  "compilerOptions": {
    "jsx": "preserve",
  },
}

TSConfig 路径 [​](#TSConfig 路径 "#tsconfig-paths")

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';

最后感谢阅读!欢迎关注我,微信公众号倔强青铜三。欢迎点赞收藏关注,一键三连!!!

相关推荐
C_心欲无痕18 小时前
ts - 模板字面量类型与 `keyof` 的魔法组合:`keyof T & `on${string}`使用
linux·运维·开发语言·前端·ubuntu·typescript
Van_captain18 小时前
rn_for_openharmony常用组件_Tabs选项卡
javascript·开源·harmonyos
赵民勇18 小时前
ES6中的const用法详解
javascript·es6
一勺菠萝丶18 小时前
Java 后端想学 Vue,又想写浏览器插件?
java·前端·vue.js
@PHARAOH18 小时前
HOW - 如何禁用 localstorage
前端·状态模式
霍理迪18 小时前
CSS布局方式——弹性盒子(flex)
前端·css
Irene199118 小时前
Vue 3中:setup 函数接收两个重要参数:props 和 context(附:setup 中无法访问 this 详解)
vue.js·setup
念你那丝微笑19 小时前
uView Plus + Vue3 + TypeScript + UniApp 正确引入 UnoCSS(避坑版)
vue.js·typescript·uni-app
Van_captain19 小时前
React Native for OpenHarmony Toast 轻提示组件:自动消失的操作反馈
javascript·开源·harmonyos
内存不泄露19 小时前
基于Spring Boot和Vue的宠物医院管理系统设计与实现
vue.js·spring boot·信息可视化