导入firebase-admin时出错

时间:2017-02-03 20:46:36

标签: javascript firebase firebase-authentication firebase-admin

我尝试使用Firebase Admin SDK创建自定义令牌。但是,如图所示导入#include <stdio.h> #include <time.h> #include <string.h> #include <stdlib.h> struct string_list { char **items; size_t size; size_t count; }; void string_list_print(struct string_list *list) { // Simply iterate through the list and // print every item for (size_t i = 0 ; i < list->count ; ++i) { fprintf(stdout, "item[%zu] = %s\n", i + 1, list->items[i]); } } struct string_list * string_list_create(size_t size) { struct string_list *list; // Allocate space for the list object list = malloc(sizeof *list); if (list == NULL) // ALWAYS check this return NULL; // Allocate space for the items // (starting with `size' items) list->items = malloc(size * sizeof *list->items); if (list->items != NULL) { // Update the list size because the allocation // succeeded list->size = size; } else { // Be optimistic, maybe realloc will work next time list->size = 0; } // Initialize the count to 0, because // the list is initially empty list->count = 0; return list; } int string_list_append(struct string_list *list, const char *const string) { // Check if there is room for the new item if (list->count + 1 >= list->size) { char **items; // Resize the array, there is no more room items = realloc(list->items, 2 * list->size * sizeof *list->items); if (items == NULL) return -1; // Now update the list list->items = items; list->size += list->size; } // Copy the string into the array we simultaneously // increase the `count' and copy the string list->items[list->count++] = strdup(string); return 0; } void string_list_destroy(struct string_list *const list) { // `free()' does work with a `NULL' argument // so perhaps as a principle we should too if (list == NULL) return; // If the `list->items' was initialized, attempt // to free every `strdup()'ed string if (list->items != NULL) { for (size_t i = 0 ; i < list->count ; ++i) { free(list->items[i]); } free(list->items); } free(list); } struct string_list * loadlist(const char *const filename) { char line[100]; // A buffer for reading lines from the file FILE *file; struct string_list *list; // Create a new list, initially it has // room for 100 strings, but it grows // automatically if needed list = string_list_create(100); if (list == NULL) return NULL; // Attempt to open the file file = fopen (filename, "r"); // On failure, we now have the responsibility // to cleanup the allocated space for the string // list if (file == NULL) { string_list_destroy(list); return NULL; } // Read lines from the file until there are no more while (fgets(line, sizeof(line), file) != NULL) { char *newline; // Remove the trainling '\n' newline = strchr(line, '\n'); if (newline != NULL) *newline = '\0'; // Append the string to the list string_list_append(list, line); } fclose(file); return list; } int main(void) { time_t stime, etime; struct string_list *list; printf("Starting of the program...\n"); time(&stime); list = loadlist("Z:\\list.txt"); if (list != NULL) { string_list_print(list); string_list_destroy(list); } time(&etime); printf("Time to load: %f\n", difftime(etime, stime)); return 0; } here

我收到了错误import * as admin from 'firebase-admin';

我正在使用

  • process.binding is not supportedbrowserify
  • 14.0.0firebase
  • ^3.6.8firebase-admin

有关如何解决此问题的任何想法?

2 个答案:

答案 0 :(得分:2)

由于您使用的是browserify和import语法而不是node.js module require syntax,因此您可能会尝试在浏览器中使用Firebase Admin SDK。 admin SDK仅供服务器使用,不适用于最终用户访问(请参阅Add the Firebase Admin SDK to your Server页面顶部的警告)。

如果您尝试使用JavaScript SDK进行最终用户访问,请改为使用this guide

如果您在node.js服务器上使用此功能,请尝试使用require语法:

var admin = require("firebase-admin");

答案 1 :(得分:0)

我正在使用Webpack作为使用firebase-admin的Node应用程序。解决方案似乎是将Webpack配置文件中的target设置为'node'