2017-08-07 9 views
0

私はNode.jsとFirebaseを初めて使用しています。 私はクラウド機能をいくつかデプロイするのに成功しました。 私は私のようにクラスを定義しているのNode.jsプロジェクトがあります:私はfirebase管理SDKを使用して、私はリアルタイムdatabase.Exと連携APIコード:Cloud Baseのクラウド機能でNode.jsクラスを使用

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

import * as Api from './api'; 

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

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

今、問題は、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に送信する手順を実行します。

関連する問題