Firebase -Node.js 自动完成不显示 .auth() 或其附带方法

Firebase -Node.js auto complete doesn't show .auth() or it's accompanying methods

我是运行节点版本7.8.0

我已经将 FirebaseFirebase-admin 模块安装到服务器端 Node.js app.js 文件。我想使用这两种方法:

var myCustomToken = '12345'

firebaseAdmin.auth().createCustomToken(myCustomToken) //firebaseAdmin.auth()

firebase.auth().authenticateWithCustomToken(myCustomToken) // firebase.auth()

问题是点 .auth() 没有出现在任何一个模块中,所以我无法使用这两种方法。还有其他方法与出现的两个模块相关(在下面的图片中),但 .auth() 不是其中之一。

例如

firebaseAdmin.initializeApp(... //works
firebaseAdmin.credential.cert(... //works

firebase.initializeApp(...) //works

这些是我安装在用 npm:

初始化的文件夹中的模块
npm install firebase-admin --save
npm install algoliasearch --save
npm install firebase --save

这些是我的 package.json 文件中的依赖项:

  "engines": {
    "node": "7.8.0"
  },
  "dependencies": {
    "algoliasearch": "^3.22.1",
    "firebase": "^3.7.4",
    "firebase-admin": "^4.1.4"
  }

如何让 .auth() 出现在每个模块上,以便我可以访问我需要的 2 种方法?

Firebase-admin 模块自动完成:

Firebase 模块自动完成:

两个模块的自动完成结果 .auth() 不存在:

看看https://firebase.google.com/docs/admin/setuphttps://firebase.google.com/docs/auth/admin/create-custom-tokens#create_custom_tokens_using_the_firebase_admin_sdk

对于createCustomToken()

关于客户端部分,你试过了吗signInWithCustomToken()

我在 Firebase-admin github repo 提交了一份问题报告,他们回复我说即使 .aut() 对象没有出现在 Sublime 的自动完成中,它确实存在。因为我知道我正在寻找的方法,他们说我可以手动输入代码,它会起作用,事实上它确实起作用了。

他们建议的一件事是,下次我可以进入 node_modules 文件夹时,我会看到它确实存在于那里:

node_modules/firebase-admin/lib/firebase-namespace.js

这是那里的内容:

Object.defineProperty(FirebaseNamespace.prototype, "auth", {
        /**
         * Gets the `Auth` service namespace. The returned namespace can be used to get the
         * `Auth` service for the default app or an explicitly specified app.
         */
        get: function () {
            var _this = this;
            var fn = function (app) {
                return _this.ensureApp(app).auth();
            };
            return Object.assign(fn, { Auth: auth_1.Auth });
        },
        enumerable: true,
        configurable: true
    });

基本上,如果您使用 Sublime 和自动完成功能没有显示您要查找的内容,只需手动输入并查看 node_modules 文件夹以验证它是否存在。

另一种选择是使用 VSCode 或 Vim 而不是 Sublime,自动完成应该可以在那里工作。