Firebase -Node.js 自动完成不显示 .auth() 或其附带方法
Firebase -Node.js auto complete doesn't show .auth() or it's accompanying methods
我是运行节点版本7.8.0
我已经将 Firebase 和 Firebase-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/setup
和 https://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,自动完成应该可以在那里工作。
我是运行节点版本7.8.0
我已经将 Firebase 和 Firebase-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/setup 和 https://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,自动完成应该可以在那里工作。