某些情况下,我并不需要 ts
为我的功能函数进行类型检查,我只需要它帮我提醒使用者 功能函数 有哪些调用方式;因此我不想使用 a.ts
将其混入到一个文件。
如何做?请以此为例
// a.jsfunction yyp(a) { return a ? a + 1 : "-";}// a.d.tsinterface yyp { (): string; (a: number): number;}
希望的使用方式:
import * as set from "./a";console.log(set.yyp());console.log(set.yyp(1));
仅引入一个文件就能进行使用,并且能够接受 ts 的类型束缚。
如同 echarts
插件一样,将 js-功能实现
和 ts-使用限制
分开。
import * as echarts from "echarts";echarts.init(....);
环境:vue3 , vite
project-root-directory/│├── src/│ ││ ├── functions/│ │ ├── js/│ │ │ └── a.js│ │ ││ │ ├── ts/│ │ │ └── a.d.ts│ │ ││ │ └── index.ts│ ││ ├── components/│ │ └── ... (your Vue components)│ ││ ├── App.vue│ ├── main.ts│ ││ └── ...│├── public/│ └── ...│├── vite.config.js├── tsconfig.json├── package.json└── ...
src/functions/js/ 目录放 JS 文件, a.js。
src/functions/ts/ 目录放 TS 类型声明文件,a.d.ts。
src/functions/index.ts 是索引文件,重新导出 js 子目录里的全部函数。
vue文件里:
import * as set from '@/functions';console.log(set.yyp());console.log(set.yyp(1));
tsconfig.json:
{ "compilerOptions": { "baseUrl": "./", "paths": { "*": ["functions/ts/*", "functions/js/*"] } }}
index.ts
export * from './js/a';
写 ts,然后用的时候 tsc 编译后,引入使用的 js 文件
topAncestorElement 的类型是 call 的返回值 undefined; 我希望使用 [].find.call 这种写法,要怎么修改呢? as unknown as HTMLElement 这样断言就行了。之前没注意看提示...
我正在用TypeScript编写一个React高阶组件(HOC)。HOC应该比包装组件多接受一个道具,所以我写了以下内容: 换句话说,是一个生成实际hoc的函数。这个HOC(我相信)是一个接受
vs code,正在初始化 JS/TS 语言功能/Initializing JS/TS language features,使用的是Cocos creator3.8.2,两个相似的项目,一个打开一直显示,另一个没有问题。 重启vs code,重新安装vs code,禁用扩展,均无效。
实现一个类型 Path,功能是可以提取对象的 key 路径,例如
为什么在不能在TypeScript项目执行.ts文件? 我想要封装一个类,并且使用ts-node执行: src/index.ts test/testPerson.ts 我运行ts-node 执行 测试文件报错:不识别.ts后缀的文件: 我按照网上说的,找到package.json 删除: "type": "module", 但是又会报其他错误: 请问: 1、package.json内"type":
大哥们,这个ts报错,原始svg上没t这么解决 其他地方搜不到相关结果