小编Igo*_*tko的帖子

如何在云函数中使用 ES6(esm) 导入/导出

import functions from 'firebase-functions';
import UtilModuler from '@utilModuler'

exports.helloWorld = functions.https.onRequest((request, response) => {
 response.send("Hello from Firebase!");
});
Run Code Online (Sandbox Code Playgroud)

从 '@utilModuler' 导入 UtilModuler;^^^^^^^^^^

语法错误:Module._compile 处的意外标识符 (internal/modules/cjs/loader.js:721:23)

注意事项

我正在使用通过导入/导出编写的第三方库(@utilModuler)。可能的解决方法:

  1. Fork 库并生成带有汇总的 cjs 文件。
  2. esm就像一个魅力,但它会导致不必要的内存消耗

问题:有没有办法在谷歌云功能中使用混合导入 cjs 和 esm?(除了我上面描述的选项)

在部署功能中使用类似--experimental-modules会很好

javascript node.js google-cloud-functions es6-modules

7
推荐指数
2
解决办法
1246
查看次数

Firestore 触发器功能未登录本地模拟器

Firestore 触发器功能未在本地模拟器中记录(触发),但是当我部署它们时,它们会记录并正常工作。

const admin = require("firebase-admin");
const serviceAccount = require('./firebase-adminsdk-.json');
admin.initializeApp({
  credential: admin.credential.cert(serviceAccount),
  databaseURL: "https://find-place.firebaseio.com"
});
const functions = require('firebase-functions');
Run Code Online (Sandbox Code Playgroud)

函数本身

exports.emergencyCreated = functions.firestore
.document('emergencies/{emergenciesId}')
.onCreate((snap, context) => {
  console.info('created')
  const emergencyData = snap.data();
  console.log(emergencyData)


  // perform desired operations ...
});
Run Code Online (Sandbox Code Playgroud)

终端日志

i  emulators: Starting emulators: functions, firestore
+  functions: Using node@10 from host.
+  functions: Emulator started at http://localhost:5001
i  firestore: Serving ALL traffic (including WebChannel) on http://localhost:5004
!  firestore: Support for WebChannel on a separate port (5005) is …
Run Code Online (Sandbox Code Playgroud)

node.js firebase google-cloud-functions google-cloud-firestore

6
推荐指数
0
解决办法
656
查看次数