【问题标题】:how to make some lines in index.ts not executed?如何使 index.ts 中的某些行不执行?
【发布时间】:2021-07-18 21:16:13
【问题描述】:

所以在我的index.ts 中,我最初有这样的代码

export * as users from "./firestore/triggers/users/users_triggers";
export * as auth from "./firebase_authentication/triggers/firebase_auth_triggers";

然后我的index.ts 中有另一个export,但我希望仅在满足某些条件时才执行此导出。所以在我的index.ts 中会是这样的

export * as users from "./firestore/triggers/users/users_triggers";
export * as auth from "./firebase_authentication/triggers/firebase_auth_triggers";

const meetSomeCriteria = true;
if (meetSomeCriteria) return;

// if it meets some criteria, then I expect the code below won't be triggered
export * as utilities from "./utilities/emulators/http_triggers/for_testing_via_firestore_emulators";

但如果我有这样的回报,我会出错

那么如何使 index.ts 中的某些行不被执行?

这些导出实用程序实际上是一些我将仅用于 Firebase 模拟器的功能。我想避免在生产中部署这些功能

【问题讨论】:

  • 消费者如何知道公用事业是否可以进口?是薛定谔的效用吗?
  • 你可以把这段代码放在一个函数中,然后你写if(meetSomeCriteria) function()。或者你可以将上面的代码放在一个函数中并调用它,在你能够返回的函数中。

标签: node.js typescript firebase google-cloud-functions


【解决方案1】:

打字稿中没有条件导入或导出。即你不能写类似的东西

if (acondition)
  import x from "module"  

但是你可以像这样解决它

import * as utilimport from "./your/module";

export const utilities = meetSomeCriteria
   ? utilimport 
   : undefined
   ;

【讨论】:

    猜你喜欢
    • 2019-10-16
    • 1970-01-01
    • 2017-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-03
    • 2023-01-25
    相关资源
    最近更新 更多