0

私はServerless Framework & Azure Functionsでサービスを書いています。非常に簡単な例があります。しかし、私が一歩前進しようとすると、私は問題にぶつかります。現在AWS Lambdaから学習し、Azure Functionsに実装しようとしています。Azure機能付きサーバーレスフレーム

そうすることの目的は次のとおりです。

1)es6クラスとしての機能を実装し、その後のWebPACKでプロジェクトを構築します。

2)適切なプロジェクト構造を見つけることが理にかなっています。

3)SoCパターンに従います。

私はgithubプロジェクトhttps://github.com/GeekOnGadgets/serverless-azure-settingsを作成していると私はそれが.serverlessフォルダを作成し、その中.zipファイル(コンパイルされたバージョン)があるserverless packageこのプロジェクトをビルドしようとします。 serverless deployを実行すると、私が理解しているのは紺碧に展開されます。しかしAzureをチェックすると、関数は開発コードであり、コンパイルされたコードではありません(下記のコードを参照してください)。

誰か助けてもらえますか?どんな提案も感謝しています。

import Settings from './src/Settings/Settings' 

module.exports.settings = (event, context, callback) => { 
    let settings = new Settings(); 

    const response = { 
     statusCode: 200, 
     headers: { 
      "Content-Type": "application/json" 
     }, 
     body: JSON.stringify(settings.dev()), 
    }; 
    callback(null, response); 
} 
+0

import Settings from './src/Settings/Settings' 

から変更してみてくださいとコンパイルは、クライアント側/ブラウザで行われます。あなたがそれらをバンドルしてビルドパックを作成する必要があるかどうか確信が持てません。彼らはあなたが構築する単純な関数です。 – Aravind

答えて

0

実際、javascriptのazure関数はnodejsで実行されるため、commonjsモジュールは自然な形式です。ノードはまた、ES6の多くをネイティブにサポートしますが、ノードの機能バージョンは最新ではない可能性があります。

ただし、node_modulesのすべての依存関係をロードする際に現在の速度の問題があります。これはファイルアクセスによるものですので、package.json - > mainが指す単一のスクリプトにすべてをバンドルするという回避策があります。

サーバーレスでどのように適合しているかについてはコメントできませんが、これは明らかにするのに役立ちます。

0

私が知る限り、Node.jsはまだモジュールのためにnot supportのインポート/エクスポートES6構文を実行します。 hereも参照してください。

は、新たな展開が、それは主に同梱されてJSと

const Settings = require('./src/Settings/Settings') 
関連する問題