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

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

相关推荐
Cassie燁2 分钟前
el-button源码解读1——为什么组件最外层套的是Vue内置组件Component
前端·vue.js
vx_bscxy3222 分钟前
告别毕设焦虑!Python 爬虫 + Java 系统 + 数据大屏,含详细开发文档 基于web的图书管理系统74010 (上万套实战教程,赠送源码)
java·前端·课程设计
北极糊的狐3 分钟前
Vue3 子组件修改父组件传递的对象并同步的方法汇总
前端·javascript·vue.js
spionbo3 分钟前
Vue3 前端分页功能实现的技术方案及应用实例解析
前端
Zyx20074 分钟前
JavaScript 作用域与闭包(下):闭包如何让变量“长生不老”
javascript
AI绘画小335 分钟前
Web 安全核心真相:别太相信任何人!40 个漏洞挖掘实战清单,直接套用!
前端·数据库·测试工具·安全·web安全·网络安全·黑客
7***n757 分钟前
前端设计模式详解
前端·设计模式·状态模式
u***j3248 分钟前
JavaScript在Node.js中的进程管理
开发语言·javascript·node.js
用户479492835691514 分钟前
Vite 中 SVG 404 的幕后黑手:你真的懂静态资源处理吗?
前端·vite
用户479492835691517 分钟前
javascript新进展你关注了吗:TC39 东京会议带来五大新特性
javascript