小编ste*_*425的帖子

使用TypeScript中的最新JavaScript功能,例如ES2018

我已经尝试在他们的配置上搜索TypeScripts文档,似乎无法找到应该是一个简单问题的答案.

简单地说,如何配置typescript编译器以便它知道我们正在使用哪些JavaScript功能集?

因此,例如,ES2019落地,我想'哦,我想给我一些'.在那种情况下,我需要升级什么,以允许编译器进行转换和pollyfill它需要什么?

tsconfig中的lib选项让我困惑,文档没有解释可用的库.我也找不到任何直接的东西.

所以让我们说ES2019出来了,我为它添加了lib选项(假设会有一个).这是否意味着我现在可以使用ES2019功能?如果我希望支持ES2019中的所有内容,我是否需要为其下的每个其他版本添加lib?或者添加ES2019 lib是否提供了我所需要的一切?

这些图书馆来自哪里?它们是CoreScript核心库的一部分吗?为了获得更多我必须升级,或者我可以简单地升级一个单独的包,它会全部工作吗?

最后,这些lib提供了完全支持该版本规范的所有必要条件.或者它是功能的子集?

在我们的项目中,我们目前使用TypeScript版本2.5.3

我意识到这是很多问题所以任何有关任何信息或文档链接的信息都会非常感激.

compilation typescript ecmascript-next

13
推荐指数
1
解决办法
2187
查看次数

节点js启动和停止Windows服务

我有一个nodeJS应用程序,它与作为Windows服务安装的第三方应用程序进行通信.我的nodeJS应用程序需要运行此服务,但是在某些情况下它可能不会运行.

我试图搜索一种方法来检查这个Windows服务是否正在运行,如果没有启动它.经过多天搜索,我发现许多结果用于运行nodeJS应用程序作为Windows服务,但没有提供启动/停止已安装的Windows服务的能力.

这甚至可能吗?我找到了像PSEXEC这样的工具,所以我可以让nodeJS运行这样的脚本,但如果nodeJS可以原生地执行这个任务,那将是更好的选择.

为此目的提供的任何信息都非常有用,我发现很难相信其他人也不会出现需要这样做的情况.

斯蒂芬

windows-services node.js

11
推荐指数
1
解决办法
8632
查看次数

通过 DevTools 模拟打印时查看分页符

我正在尝试执行一些样式来处理打印时的分页符,以确保我的内容不会被切成两半。

我知道执行此操作所需的样式(page-break-inside等等),但尝试验证它们是否有效是一项相当费力的任务,特别是当我在向我显示预览时无法查询 DOM 时。

在 Chrome(或任何其他浏览器)中,是否可以将页面置于打印模式让它在分页符所在的位置呈现?

目前,我可以使用开发工具来启用打印媒体查询,但查看分页符发生位置的唯一方法是实际调出打印预览。然而,当这一切完成后,我无法与 DOM 交互来了解为什么元素会或不会因中断而被切成两半。

当一切正常时,这并不是真正的问题,但众所周知,事情往往会表现得很奇怪!

谢谢

css page-break print-preview google-chrome-devtools

9
推荐指数
0
解决办法
396
查看次数

检查子进程是否正在运行

我已经建立了一个门户网站,其中一个页面列出了Octopus Deploy的版本.但是,每个版本所需的一些信息都保存在数据存储(共享驱动器)中的zip中.

我目前从Octopus的API获得版本,然后检查mongo db已经访问过的zip文件中存储的信息,所以我们只需要在第一次创建zip文件时读取一次.

目前所有这些逻辑都适用,但是当它第一次读取zip文件时它完全阻塞了.所以我把它放在一个运行良好的子进程中.

目前,每次用户点击发布页面时,所有这些的逻辑都会运行.如果章鱼部署的所有结果都在数据库中,那么它只返回那些结果.如果没有,它将返回结果,然后在子进程将数据库插入数据库后,使用socket io返回从zip文件读取的信息.

现在实际的问题/问题.如果用户A点击页面并从章节中获取不在数据库中的版本,则每次用户点击页面时它都会运行,它将启动子进程以读取zip.如果用户B在用户A的子进程完成之前命中页面,他们也将从不在数据库中的章鱼获得释放,因此将尝试命中子进程以执行与用户A相同的操作.但是因为代码到读取zip文件阻止它等待所有zip文件从用户A读取然后重复用户B的进程.

我如何检查子进程是否已经执行了zip读取,如果没有则执行则执行其他操作?

我尝试设置'inuse'变量并在尝试在子进程中以及在调用它的模块中执行read zips函数时进行检查.麻烦在于子进程中,zip读取函数阻止它,一旦完成将使用中的变量设置为false,因此排队的调用运行相同的事情.在模块中,每次用户加载页面时都会加载它,因此将其重置为默认值false,因此始终会调用read zip函数.

child-process node.js

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

switchMap 和 debounceTime 取消挂起

我有一种方法可以根据搜索词搜索员工。

this._sub.pipe(
    debounceTime(500),
    filter(x => !!x),
    distinctUntilChanged(),
    switchMap(this.getResults.bind(this))
).subscribe((d: IDisplayEmp[]) => {
    console.log('RES', d)
    this.displayResults = d;
});

this._sub.next('mySearchTerm');
Run Code Online (Sandbox Code Playgroud)

这很有效,如果发出新的 API 调用,则会取消以前的 API 调用。然而问题来了。

活动 API 调用仅在发出去抖动时取消。如果在去抖动等待期间活动 API 调用返回,它仍会触发我的订阅。

我明白这是因为取消只发生在 switchmap 的范围内。

是否可以重构它,以便如果去抖动正在等待输入停止,它将取消任何挂起的 API 调用?

可能是一种天真的方法,但我尝试了类似下面的方法,它发出值,但现在没有去抖动效果。

this._sub.pipe(
    filter(x => !!x),
    distinctUntilChanged(),
    switchMap((x) => {
        return of(x)
            .pipe(
                debounceTime(500),
                this.getResults.bind(this)
            );
    })
).subscribe((d: IDisplayEmp[]) => {
    console.log('RES', d)
    this.displayResults = d;
});
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助。

observable rxjs typescript angular

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