首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SyntaxError:找不到名字“setImmediate”

SyntaxError:找不到名字“setImmediate”
EN

Stack Overflow用户
提问于 2019-02-21 11:05:51
回答 2查看 3.2K关注 0票数 3

在我的.netcore应用程序中,我把我的打字本版本从2.4.1升级到了3.2.4,现在我在编译时收到了错误Cannot find name 'setImmediate'。下面的实现基本上是直接从微软指南的预渲染.

代码语言:javascript
复制
export default createServerRenderer(params => {
    const providers = [
        { provide: INITIAL_CONFIG, useValue: { document: '<app></app>', url: params.url } },
        { provide: APP_BASE_HREF, useValue: params.baseUrl },
        { provide: 'BASE_URL', useValue: params.origin + params.baseUrl },
    ];

    return platformDynamicServer(providers).bootstrapModule(AppModule).then(moduleRef => {
        const appRef: ApplicationRef = moduleRef.injector.get(ApplicationRef);
        const state = moduleRef.injector.get(PlatformState);
        const zone = moduleRef.injector.get(NgZone);

        return new Promise<RenderResult>((resolve, reject) => {
            zone.onError.subscribe((errorInfo: any) => reject(errorInfo));
            appRef.isStable.pipe(first(isStable => isStable)).subscribe(() => {

                setImmediate(() => { // <!-- error here
                    resolve({
                        html: state.renderToString(),
                        globals: {

                        }
                    });
                    moduleRef.destroy();
                });

            });
        });
    });
});

我看到了是因为这件事而引起的,但是它被标记为已解析和合并。我还试着安装setImmediate包并导入它,但是这也不起作用。有人知道怎么解决这个问题吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-02-22 11:27:44

非webpack:

安装npm install --save-dev @types/node,然后在文件开始时导入import '@types/node';,解决了这个问题。

Webpack:

如果你在使用webpack,那么这是行不通的。取而代之的是npm install --save-dev @types/node node,那么您必须:

进入您的.tsconfig并添加'node'

代码语言:javascript
复制
{
  "compilerOptions": {
      "types": [..., "node" ],
      ...
   }
}

不要import '@types/node'; --这是因为这里声明的理由

@types包存储在@types目录中,但绝不能手动导入。相反,您需要从安装该依赖项的位置导入它们对应的依赖项。@types包为依赖项提供类型声明,而这些依赖项不提供依赖项。

票数 4
EN

Stack Overflow用户

发布于 2020-03-21 08:26:10

我刚刚用webpack尝试了这个解决方案,我注意到不需要npm安装节点,只需安装@type/节点(当然,按照其余的说明),它将完美地工作:)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54805607

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档