2016-09-27 22 views
8

我正在努力獲得在Aurelia工作的Amazon Cognito Identity SDK。我沒有很多Javascript的經驗,並且對各種依賴系統非常陌生。 npm install --save amazon-cognito-identity-js如何獲得在Aurelia工作的Amazon Cognito Identity SDK?

我那麼編輯我aurelia_project/aurelia.json文件作爲奧裏利亞文檔中的建議包括在build.bundles廠商捆綁依賴新的客戶端庫的依賴:

"sjcl", 
"jsbn", 
{ 
    "name": "aws-sdk", 
    "path": "../node_modules/aws-sdk/", 
    "main": "dist/aws-sdk" 
}, 
{ 
    "name": "amazon-cognito-identity-js", 
    "path": "../node_modules/amazon-cognito-identity-js/dist", 
    "main": "amazon-cognito-identity.min" 
} 

我使用安裝在Cognito SDK

但是,當我嘗試使用au run運行代碼時,出現錯誤:Error: ENOENT: no such file or directory, open '/Users/nathanskone/Projects/scc/aurelia-app/src/xmlbuilder.js'

我試圖在我的aurelia.js中包含xmlbuilder無濟於事。當它被包括我最終得到這個關於lodash的錯誤:Error: ENOENT: no such file or directory, open '/Users/nathanskone/Projects/scc/aurelia-app/src/lodash/object/assign.js'

我還沒有找到任何方式來通過lodash錯誤。

有沒有人熟悉Aurelia依賴系統可以提供幫助?

感謝, 彌敦道

編輯#2:雖然我過去xmlbuilder/lodash錯誤,我遇到了更多的錯誤試圖捆綁AWS-SDK。這是我目前的aurelia.json:

"dependencies": [ 
    { 
    "name": "xmlbuilder", 
    "path": "../node_modules/xmlbuilder/lib", 
    "main": "index" 
    }, 
    { 
    "name": "aws-sdk", 
    "path": "../node_modules/aws-sdk", 
    "main": "index", 
    "resources": ["lib/region_config.json"] 
    }, 

和錯誤我目前得到:

Error: ENOENT: no such file or directory, open '/Users/nathanskone/Projects/scc/aurelia-app/src/crypto.js'

如果我刪除的資源(LIB/region_config.json)然後我得到這個錯誤,而不是: Error: ENOENT: no such file or directory, open '/Users/nathanskone/Projects/scc/aurelia-app/node_modules/aws-sdk/lib/region_config.json.js'

我想加密實際上是在AWS-SDK/LIB/util.js中定義的對象,這是由AWS-SDK/LIB/region_config.js必需的。

回答

6

嘗試編譯庫,而不是使用編譯的庫捆綁就好。 同樣庫似乎定義window.AWS,所以注射與否將工作

{ 
    "name": "aws-sdk", 
    "path": "../node_modules/aws-sdk/dist", 
    "main": "aws-sdk.min", 
    "exports": "AWS" 
} 

UPDATE:

它似乎導入這些庫的唯一方法是通過使用前置部分,庫寫入窗口變量,所以它仍然可以訪問您的應用程序腳本,只需不導入它們就像ES6模塊。

"prepend": [ 
     "node_modules/aws-sdk/dist/aws-sdk.min.js", 
     "node_modules/amazon-cognito-identity-js/dist/aws-cognito-sdk.min.js", 
     "node_modules/amazon-cognito-identity-js/dist/amazon-cognito-identity.min.js", 
     "node_modules/bluebird/js/browser/bluebird.core.js", 
     "scripts/require.js" 
    ], 
+0

這不工作的AWS-SDK獨自一人,但只要我加入亞馬遜cognito身份-JS它抱怨'錯誤:ENOENT:沒有這樣的文件或目錄,打開「/用戶/ nathanskone/Projects/scc/aurelia-app/node_modules/aws-sdk/lib/region_config.json.js''。 –

+0

這樣做!雖然我還必須將jsbn和sjcl添加到前置部分,因爲它們都是Amazon Cognito SDK所需的。 –

相關問題