Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/hairyf/uni-tsc
在 uniapp 中使用 uni-tsc 编译兼容 JavaScript 的组件与 d.ts 文件
https://github.com/hairyf/uni-tsc
Last synced: 2 months ago
JSON representation
在 uniapp 中使用 uni-tsc 编译兼容 JavaScript 的组件与 d.ts 文件
- Host: GitHub
- URL: https://github.com/hairyf/uni-tsc
- Owner: hairyf
- Created: 2023-03-07T03:15:31.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2023-12-15T05:22:47.000Z (about 1 year ago)
- Last Synced: 2024-04-26T02:22:03.470Z (8 months ago)
- Language: TypeScript
- Homepage:
- Size: 118 KB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# uni-tsc
在 [uniapp](https://uniapp.dcloud.net.cn/) 中使用 uni-tsc 编译兼容 JavaScript 的组件与 `d.ts` 文件,由
[@vue/compiler-sfc](https://www.npmjs.com/package/@vue/compiler-sfc) |
[@swc/core](https://www.npmjs.com/package/@swc/core) 支持。
## ⚙️ Install在项目文件夹中本地安装它:
```bash
pnpm add uni-tsc --dev
# Or Yarn
yarn add uni-tsc --dev
```## 📖 Usage
与 [vue-tsc](https://www.npmjs.com/package/vue-tsc) 类似,但与 `vue-tsc` 不同于可以输出已编译的 `.vue` 文件,它适用于编译 [uniapp](https://uniapp.dcloud.net.cn/) 的组件与 TS 代码!
> vue-tsc 在 [#2220](https://github.com/vuejs/language-tools/pull/2220) 已不支持 emit 任何文件。
uni-tsc 与 tsc 一样,需要 `tsconfig.json`,建议您使用以下配置:
```json
{
"compilerOptions": {
"target": "ES2018",
"module": "esnext",
"moduleResolution": "node",
"strict": true,
"declaration": true,
"outDir": "dist",
"jsx": "preserve",
"resolveJsonModule": true,
"esModuleInterop": true,
"downlevelIteration": true
},
"exclude": [
"**/dist/**/*.js",
"**/dist/**/*.ts",
"**/dist/**/*.vue"
],
"include": [
"./**/*.ts",
"./**/*.d.ts",
"./**/*.tsx",
"./**/*.vue"
]
}```
基本使用:
`uni-tsc [...files]`
输出类型:
`uni-tsc [...files] --declaration`
> 如未使用 `noEmit` 选项,在编译 .vue 后,由于不能覆盖源文件,所以 `outDir` 是必须的!
> 所有选项与 tsc 保持一致,所以输入 uni-tsc --help 获得更多配置说明。