我正在使用 webpack 和 typescript,并且有两个文件夹,src 和 test。
我正在编写一个打字稿库,因此我想将其与源代码的声明文件一起发送(因此在我的 tsconfig.json 中我有声明:true)。但是我不想为我的测试发送声明文件。
如果我在 tsconfig.json 中排除测试文件夹,那么我的 IDE 会在测试文件中给出它无法找到的包的愚蠢错误。
如果我包含它们,似乎无法指定只为 src 目录生成声明文件,而不是为测试目录生成声明文件,无论是在 tsconfig.json 还是在 webpack 配置中。因此,我的测试的声明文件最终位于我的 dist/test 文件夹中(至少不在bundle.js 本身中)。
一种解决方案可能是在 webpack 捆绑包之后运行任务/脚本来清理 dist/test 文件夹,但理想情况下,我宁愿避免仅执行此操作的额外步骤。
我缺少任何选项/配置吗?
我认为不想生成测试文件声明应该非常简单......
假设我有一个不同类型的数据数组:
const input = ["random", 2, {a: "foo", b: "baz"}];
Run Code Online (Sandbox Code Playgroud)
Typescript可以自动推断和提取类型,例如:
type InputTypeArray = typeof input;
Run Code Online (Sandbox Code Playgroud)
这里的打字稿知道InputTypeArray是(string | number | {a:string,b:string})[];
让我们将InputType称为数组元素的类型,即:
typeof InputType = string | number | {a: string, b: string};
Run Code Online (Sandbox Code Playgroud)
我可以从InputTypeArray派生InputType吗?换句话说,我将如何编写一个接受输入元素之一作为参数的函数?
const input = ["random", 2, {a: "foo", b: "baz"}];
const myFunction = (element: InputType) => element;
input.map(myFunction);
Run Code Online (Sandbox Code Playgroud)
我如何在这里写“ InputType”?有没有办法从输入中提取出来?
我知道我可以通过在map调用中内联myFunction来解决,因为打字稿会再次推断函数内的正确类型。但是有没有办法获得这种类型呢?
我读过一些用户提到他们正在使用这个带有Typescript支持的库,但我无法在任何地方找到任何文档,也似乎无法让它自己运行.
我正在使用typescript 2,我无法创建一个非常简单的工作示例,只允许我拖动现有的组件.我尝试了几种可能性,但是在调用DragSource(作为装饰器或函数)或渲染生成的组件时,我总是遇到一些打字问题.
简而言之,我想要一个示例,它显示了typescript中react-dnd的用法,它允许我如何使现有组件可拖动,可能没有修改组件本身(它应该不知道它是可拖动的)
感谢您的任何帮助!