2017-08-07 38 views
0

我是Node.js和Firebase的新手。 我已經成功嘗試部署一些雲功能來測試它們。 我有,我有一個類定義爲Node.js的項目:在雲端函數中爲Firebase使用Node.js類

import * as Api from './api'; 

export default class MyClass { 
    constructor(props) {[...]} 

    someFunction(props) { 
     return Api.someOtherFunction(props.arg1).then([..]).catch([..]); 
    } 
} 

在API代碼,我用的是火力管理SDK和我一起實時工作database.Ex:

ref.child(`users/${userId}`).set({ 
      id: userId, 
      arg1: arg1, 
      arg2: arg2 
     }); 

現在,問題是我想在雲功能中使用MyClass。 我在雲的功能,太(例如:here)讀了很多關於ES6,但我無法擺脫的錯誤消息

SyntaxError: Unexpected token import

我試圖轉換成需要的語句,但我無法要求我的本地模塊MyClass是。 我不在乎它是否是一個Node.js本地模塊,或者只是一些清晰的分層結構的類。

我想問的是,如果有關於這種情況的特定文檔(我已經搜索了很多)和/或如果我按照正確的方式來組織我的項目。 如果答案是「否」,請給我一些關於如何構建它的提示。

回答

0

雲功能(node.js)目前不支持ES6 import語法,您必須使用require()

您鏈接的文章中的示例使用Babel將ES6轉換爲ES5。即使您將import語句轉換爲require(),您也會遇到ES5不支持class語法的事實。如果您想要完成它所做的文章,請按照以下步驟將Babel將您的ES6腳本轉換爲ES5,然後再將它發送到Firebase Cloud。

相關問題