bündeln Da mein vorheriger Beitrag on another question gelöscht wurde, obwohl es ziemlich explizit in der Darstellung des Problems war (in diesem Zusammenhang), werde ich es erneut als eigenständige Frage versuchen.Wie man AWS Cognito in Aurelia Framework
Ich versuche, Amazon Cognito mit aurelia.json
zu bündeln. Ich habe alles verfolgt, was ich in den Antworten von Jsachs und Nathan in der mentioned article abmildern konnte, aber ich denke, etwas ist unvollständig.
{
"name": "account-components-bundle.js",
"source": {
"include": [
"**/components/account/**/*.js",
"**/components/account/**/*.{html,css}"
]
},
"dependencies": [
{
"name": "aws-sdk",
"path": "../node_modules/aws-sdk/dist",
"main": "aws-sdk.min",
"exports": "AWS"
}
],
"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",
"node_modules/requirejs/require.js"
]
},
Wenn Sie nur die prepend Richtlinie hinzufügen, werden au build
keine Fehler werfen, aber ich habe keine Möglichkeit, die Cognito Klassen aufrufen.
Hinzufügen der Richtlinie Abhängigkeiten in der obigen Form wird schließlich das Paket bündeln, jedoch bei Laden der Seite werden Sie die folgende Fehlermeldung erhalten (bitte beachten Sie ich noch nichts in unserem eigenen Code aufrufen):
Unhandled rejection Error: Script error for "aws-sdk/global", needed by: components/account/login
http://requirejs.org/docs/errors.html#scripterror
at makeError (https://white.dev/dist/aurelia-bundle.js:4419:17)
at HTMLScriptElement.onScriptError (https://white.dev/dist/aurelia-bundle.js:5989:36)
From previous event:
at DefaultLoader.loadModule (https://white.dev/dist/aurelia-bundle.js:14914:14)
at ViewEngine.importViewModelResource (https://white.dev/dist/aurelia-bundle.js:23006:26)
at CompositionEngine.ensureViewModel (https://white.dev/dist/aurelia-bundle.js:24276:32)
at CompositionEngine.createController (https://white.dev/dist/aurelia-bundle.js:24252:19)
at CompositionEngine._createControllerAndSwap (https://white.dev/dist/aurelia-bundle.js:24227:19)
at CompositionEngine.compose (https://white.dev/dist/aurelia-bundle.js:24313:21)
at processInstruction (https://white.dev/dist/aurelia-bundle.js:24798:32)
at Compose.bind (https://white.dev/dist/aurelia-bundle.js:24689:7)
at Controller.bind (https://white.dev/dist/aurelia-bundle.js:23196:24)
at View.bind (https://white.dev/dist/aurelia-bundle.js:21200:24)
at If._runValueChanged (https://white.dev/dist/aurelia-bundle.js:24887:19)
at If.valueChanged (https://white.dev/dist/aurelia-bundle.js:24842:31)
at If.bind (https://white.dev/dist/aurelia-bundle.js:24831:12)
From previous event:
at CompositionEngine._createControllerAndSwap (https://white.dev/dist/aurelia-bundle.js:24227:45)
at CompositionEngine.compose (https://white.dev/dist/aurelia-bundle.js:24313:21)
at TemplatingEngine.compose (https://white.dev/dist/aurelia-bundle.js:24576:38)
at Aurelia.setRoot (https://white.dev/dist/aurelia-bundle.js:13886:21)
at Object._callee$ (https://white.dev/dist/app-bundle.js:86:37)
at tryCatch (https://white.dev/dist/aurelia-bundle.js:3:27199)
at Generator.invoke [as _invoke] (https://white.dev/dist/aurelia-bundle.js:3:28901)
at Generator.t.(anonymous function) [as next] (https://white.dev/dist/aurelia-bundle.js:3:27447)
at step (https://white.dev/dist/app-bundle.js:25:44)
at https://white.dev/dist/app-bundle.js:36:29
From previous event:
at step (https://white.dev/dist/app-bundle.js:35:55)
at https://white.dev/dist/app-bundle.js:43:24
From previous event:
at Object.<anonymous> (https://white.dev/dist/app-bundle.js:22:20)
at Object.configure (https://white.dev/dist/app-bundle.js:97:25)
at https://white.dev/dist/aurelia-bundle.js:12465:29
From previous event:
at config (https://white.dev/dist/aurelia-bundle.js:12460:56)
at https://white.dev/dist/aurelia-bundle.js:12496:14
From previous event:
at bootstrap (https://white.dev/dist/aurelia-bundle.js:12495:26)
at https://white.dev/dist/aurelia-bundle.js:12482:9
at <anonymous>
From previous event:
at run (https://white.dev/dist/aurelia-bundle.js:12477:61)
at Object.<anonymous> (https://white.dev/dist/aurelia-bundle.js:12502:37)
at Object.execCb (https://white.dev/dist/aurelia-bundle.js:5947:33)
at Module.check (https://white.dev/dist/aurelia-bundle.js:5134:51)
at Module.enable (https://white.dev/dist/aurelia-bundle.js:5427:22)
at Object.enable (https://white.dev/dist/aurelia-bundle.js:5808:39)
at Module.<anonymous> (https://white.dev/dist/aurelia-bundle.js:5412:33)
at https://white.dev/dist/aurelia-bundle.js:4385:23
at each (https://white.dev/dist/aurelia-bundle.js:4310:31)
at Module.enable (https://white.dev/dist/aurelia-bundle.js:5364:17)
at Module.init (https://white.dev/dist/aurelia-bundle.js:5039:26)
at https://white.dev/dist/aurelia-bundle.js:5711:36
In dem Moment, ich gehe weiter und versuchen, die Abhängigkeiten zu erweitern (nicht die bereits kompilierten Bibliotheken verwenden), komme ich zu dem gleichen alten Problem in der previous post erwähnt.
"dependencies": [
{
"name": "lodash",
"path": "../node_modules/lodash",
"main": "index"
},
{
"name": "xmlbuilder",
"path": "../node_modules/xmlbuilder",
"main": "lib/index"
},
{
"name": "aws-sdk",
"path": "../node_modules/aws-sdk",
"main": "lib/aws",
"exports": "AWS"
}
],
Diese Abhängigkeiten, wenn au build
läuft, wird führen
File not found or not accessible: /path/to/project/node_modules/aws-sdk/lib/region_config_data.json.js. Requested by /path/to/project/node_modules/aws-sdk/lib/aws.js
{ Error: ENOENT: no such file or directory, open '/path/to/project/node_modules/aws-sdk/lib/region_config_data.json.js'
at Object.fs.openSync (fs.js:584:18)
at Object.fs.readFileSync (fs.js:491:33)
at Object.exports.readFileSync (/path/to/project/node_modules/aurelia-cli/lib/file-system.js:74:13)
at fileRead (/path/to/project/node_modules/aurelia-cli/lib/build/bundled-source.js:101:27)
at Object.context.fileRead (/path/to/project/node_modules/aurelia-cli/lib/build/amodro-trace/lib/loader/Loader.js:179:18)
at Object.context.load (/path/to/project/node_modules/aurelia-cli/lib/build/amodro-trace/lib/loader/Loader.js:370:32)
at Module.load (eval at <anonymous> (/path/to/project/node_modules/aurelia-cli/lib/build/amodro-trace/lib/loader/Loader.js:14:1), <anonymous>:832:29)
at Module.fetch (eval at <anonymous> (/path/to/project/node_modules/aurelia-cli/lib/build/amodro-trace/lib/loader/Loader.js:14:1), <anonymous>:822:66)
at Module.check (eval at <anonymous> (/path/to/project/node_modules/aurelia-cli/lib/build/amodro-trace/lib/loader/Loader.js:14:1), <anonymous>:854:30)
at Module.enable (eval at <anonymous> (/path/to/project/node_modules/aurelia-cli/lib/build/amodro-trace/lib/loader/Loader.js:14:1), <anonymous>:1173:22)
errno: -2,
code: 'ENOENT',
syscall: 'open',
ich denke, das durch die Tatsache verursacht wird, dass requirejs
im Vergleich zu nodejs require()
nicht Laden json-Dateien unterstützen kann und es erwartet immer die Datei ein js
sein.
An diesem Punkt meiner Fehlersuche bin ich irgendwie festgefahren. Hat jemand Vorschläge, wie dies erreicht werden kann? Ich wäre sehr dankbar.
Um zu vermeiden und einige frühere Fragen zu meinen Ansätzen auszuschließen, habe ich versucht, zu den Bundle-Abhängigkeiten "amazon-cognito-identity-js" auch in mehr als einem Formular (dist
und lib
Dateien) hinzuzufügen. Das Ergebnis ist das gleiche wie oben. Ich bleibe bei json.js
Fehler stecken.
Edit 1
ich es geschafft, alle für aurelia.json
Fehler mit dem folgenden Formular kompilieren zu reinigen, aber die Klassen nicht richtig geladen werden.
"bundles": [
{
"name": "app-bundle.js",
"source": {
"include": [
"**/src/main.js",
"**/src/app.js",
"**/src/environment.js",
"**/src/app.{html,css}"
]
}
},
...
{
"name": "vendor-bundle.js",
"dependencies": [
...
{
"name": "lodash",
"path": "../node_modules/lodash",
"main": "index"
},
{
"name": "xmlbuilder",
"path": "../node_modules/xmlbuilder",
"main": "lib/index"
},
{
"name": "aws-sdk",
"path": "../node_modules/aws-sdk",
"main": "dist/aws-sdk",
"exports": "AWS"
}
],
"append": [
"node_modules/amazon-cognito-identity-js/dist/aws-cognito-sdk.min.js",
"node_modules/amazon-cognito-identity-js/dist/amazon-cognito-identity.min.js"
]
},
...
]
Haben Sie versucht, die JSON-Datei zur Liste der Dateien hinzufügen, die für diese dep enthalten sein müssen? –
@AshleyGrant Habe versucht den folgenden '{" name ":" aws-sdk "," Pfad ":" ../node_modules/aws-sdk "," main ":" lib/aws "," exportiert ":" AWS "," Ressourcen ": [" lib/region_config_data.json "]}'. Das Ergebnis ist das gleiche. –