问题:我构建了一个库,其中.ts在结构化文件夹中包含许多文件。现在我想发布我的这个库,但不想共享源代码(打字稿文件)。
尝试:当我运行tsc命令时,它会生成.js与每个文件对应的文件.ts。当我保存declaration: true在我的tsconfig.json文件中时,也会为每个文件tsc生成文件。.d.ts.ts
挑战:我的所有.js文件都按预期在结构上生成,但.d.ts也在文件的并行位置生成.js。现在的挑战是,通过这种方式,该库的任何使用者将如何导入类型,因为所有类型都分散在不同的文件夹中,因为没有.d.ts由tsc
我在 NPM 上看到许多模块(例如https://github.com/winstonjs/winston),它们发布单个index.d.ts文件,并且消费者导入它们以使用和利用 Typescript 的优势。
目前我的项目结构如下所示:
- my-project-root-directory
- src
- demo
- main.ts
- sample.ts
-lib
- constants
- some_constant_file1.ts
- models
- some_model_file1.ts
- some_model_file2.ts
- util
- some_util_file.ts
- dist
- demo
- main.js
- main.d.ts
- sample.js
- sample.d.ts
-lib …Run Code Online (Sandbox Code Playgroud) 我制作了一个带有文本框的 Windows 窗体应用程序,它使用条形码扫描仪来获取任何输入值。我希望用户仅使用条形码扫描仪来填充其中的任何值,并且不想使用我的常规键盘输入任何输入。
由于我的条形码的工作方式类似于键盘,因此禁用我的常规键盘也会禁用我的条形码扫描仪的工作。
我搜索了很多地方来实现这一点,发现很少有答案建议添加秒表/计时器来消除 50 毫秒内发生的所有按键,因为条形码可以在 50 毫秒内扫描所有值,但没有人可以比 50 毫秒更快地打字。
我也尝试过这种方法,但是当我随机用手指敲击键盘按键时,它会失败,因为某些按键在 50 毫秒内触发,所以它会读出。
还尝试了下面的代码,但即使这对我来说也不能按预期工作
private void rtBoxInput_KeyDown(object sender, KeyEventArgs e)
{
e.SuppressKeyPress = true;
}
Run Code Online (Sandbox Code Playgroud)
请建议一些好方法来实现这个?