小编Rah*_*rma的帖子

将 TypeScript 项目发布到 NPM,无需源代码

问题:我构建了一个库,其中.ts在结构化文件夹中包含许多文件。现在我想发布我的这个库,但不想共享源代码(打字稿文件)。

尝试:当我运行tsc命令时,它会生成.js与每个文件对应的文件.ts。当我保存declaration: true在我的tsconfig.json文件中时,也会为每个文件tsc生成文件。.d.ts.ts

挑战:我的所有.js文件都按预期在结构上生成,但.d.ts也在文件的并行位置生成.js。现在的挑战是,通过这种方式,该库的任何使用者将如何导入类型,因为所有类型都分散在不同的文件夹中,因为没有.d.tstsc

我在 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)

node.js npm typescript

4
推荐指数
1
解决办法
2289
查看次数

仅允许条形码扫描仪并消除键盘输入

我制作了一个带有文本框的 Windows 窗体应用程序,它使用条形码扫描仪来获取任何输入值。我希望用户仅使用条形码扫描仪来填充其中的任何值,并且不想使用我的常规键盘输入任何输入。

由于我的条形码的工作方式类似于键盘,因此禁用我的常规键盘也会禁用我的条形码扫描仪的工作。

我搜索了很多地方来实现这一点,发现很少有答案建议添加秒表/计时器来消除 50 毫秒内发生的所有按键,因为条形码可以在 50 毫秒内扫描所有值,但没有人可以比 50 毫秒更快地打字。

我也尝试过这种方法,但是当我随机用手指敲击键盘按键时,它会失败,因为某些按键在 50 毫秒内触发,所以它会读出。

还尝试了下面的代码,但即使这对我来说也不能按预期工作

private void rtBoxInput_KeyDown(object sender, KeyEventArgs e)
{
    e.SuppressKeyPress = true;
}
Run Code Online (Sandbox Code Playgroud)

请建议一些好方法来实现这个?

.net c# vb.net wpf winforms

1
推荐指数
1
解决办法
2万
查看次数

标签 统计

.net ×1

c# ×1

node.js ×1

npm ×1

typescript ×1

vb.net ×1

winforms ×1

wpf ×1