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

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

相关推荐
子兮曰3 天前
jev-ultrafast 深度解析:7 秒订机票的浏览器 Agent 是如何炼成的
前端·后端·agent
子兮曰3 天前
Jev 爆发一周:7 秒 Agent 背后的 System One 生态与三场争议
前端·后端·ai编程
前端小万3 天前
写公众号赚了 3000 块后,我做了一款叫 "一键成稿" 的软件
前端·微信小程序
爱勇宝3 天前
ZCode 开源 24 小时:一份没有历史的账本,回答不了"有没有偷代码"
前端·后端·chatglm (智谱)
A黄俊辉A3 天前
uniapp webview中实现 app和内嵌的H5双向通信
vue.js·json
三十而立洋3 天前
Cookie 详解:从产生到安全,一次讲透
前端·javascript
卡布鲁3 天前
把一个 Vite + Vue3 应用塞进 qiankun (React + Umi3) 主站:十个坑的复盘
前端·javascript·react.js
李少兄3 天前
JavaScript 隐式全局变量解析
javascript
honkun63 天前
vue 表格组件 vxe-table 配置 ajax 请求自动加载数据与表单查询
vue.js·vxe-table
kybs19913 天前
全球灾害数据分析可视化 毕业设计-附源码66794
vue.js·spring boot·mysql·安全·django·c#·asp.net