Ich bin mir nicht sicher, wie die Import-Anweisung für eine Drittanbieter-Bibliothek zu strukturieren.Wie strukturiere ich den Import von einem Drittanbieter-angular2 App
Ich versuche, ng2-Datei-Upload von einem Angular2 Projekt in Visual Studio zu verwenden. https://github.com/valor-software/ng2-file-upload
Ich habe dies in meiner Komponente:
import {FILE_UPLOAD_DIRECTIVES, FileUploader} from 'ng2-file-upload';
Visual Studio verwendet, wird dies bauen und intellisense findet die Richtlinien in der Bibliothek. Zur Laufzeit bekomme ich diesen Fehler:
GET http://localhost:54675/ng2-file-upload 404 (Not Found)
Offensichtlich ist das nicht der richtige Pfad.
Unten ss meine Verzeichnisstruktur. Der Import erfolgt in documentUpload.component.ts.
> wwwroot
> -------app
> ----------shared
> -------------documentUpload
> ----------------documentUpload.component.ts
> -------node_modules
> ----------ng2-file-upload
> -------------ng2-file-upload.js
> -------------components
> ----------------file-upload
> -------------------file-uploader.js
Meine Quelle für NG2-Datei-Upload ist in der Projektwurzel und ein Schluck Datei bewegt sich nur die js und CSS zu meinem wwwroot/node_modules Ordner. Ich denke zur Entwurfszeit benutzt es die Quelle in meinem Root (so dass Intellisense funktioniert und es baut), aber zur Laufzeit versucht es, von wwwroot zu ziehen und etwas fehlt oder referenziert falsch.
Update: Basierend auf dem Feedback ich dieses Modul zu dem system.config hinzugefügt, wie unten dargestellt:
System.config({
packages: {
app: {
format: 'register',
defaultExtension: 'js'
}
},
map: {
'ng2fileupload': 'node_modules/ng2-file-upload/ng2-file-upload.js'
}
});
System.import('app/boot')
.then(null, console.error.bind(console));
System.import('ng2fileupload')
.then(null, console.error.bind(console));
An dieser Stelle ich einen 404-Fehler beim Laden: http://localhost:54675/node_modules/ng2-file-upload/components/file-upload/file-select
Diese Datei -select-Komponente befindet sich in einem Unterverzeichnis unter ng2-file-upload. Ich fügte es als ein Kartenmodul hinzu, aber das erzeugte nur ähnliche Fehler für andere Komponenten, die es verwendet.
Aktueller Fortschritt Hier ist meine index.html Datei.
<!DOCTYPE html>
<html>
<head>
<title>FMS</title>
<base href="/" />
<!-- 1. Load libraries -->
<script src="/node_modules/angular2/bundles/angular2-polyfills.js"></script>
<script src="/node_modules/systemjs/dist/system.src.js"></script>
<script src="/node_modules/rxjs/bundles/Rx.js"></script>
<script src="/node_modules/angular2/bundles/angular2.dev.js"></script>
<script src="node_modules/angular2/bundles/router.dev.js"></script>
<script src="node_modules/es6-shim/es6-shim.js"></script>
<script src="/node_modules/jquery/dist/jquery.js"></script>
<script src="/node_modules/bootstrap/dist/js/bootstrap.js"></script>
<script src="/node_modules/angular2/bundles/http.js"></script>
<link rel="stylesheet" href="/node_modules/bootstrap/dist/css/bootstrap.css" />
<link rel="stylesheet" href="/node_modules/spinkit/css/spinkit.css" />
<link rel="stylesheet" href="/app/assets/site.css" />
<!-- 2. Configure SystemJS -->
<script>
System.config({
packages: {
app: {
format: 'register',
defaultExtension: 'js'
}
},
map:{
'ng2-file-upload':'node_modules/ng2-file-upload/ng2-file-upload.js'
}
});
System.import('app/boot')
.then(null, console.error.bind(console));
</script>
</head>
<!-- 3. Display the application -->
<body>
<fmssupport-app></fmssupport-app>
</body>
</html>
Hier ist meine Komponente:
import {Component} from 'angular2/core';
import {FILE_UPLOAD_DIRECTIVES} from 'ng2-file-upload';
@Component({
selector: 'document-upload',
templateUrl: 'app/shared/documentUpload/documentUpload.component.html',
directives: [FILE_UPLOAD_DIRECTIVES]
})
export class DocumentUploadComponent {
}
Und das sind die Fehler, die ich erhalten:
GET http://localhost:54675/node_modules/ng2-file-upload/components/file-upload/file-select 404 Error: XHR error (404 Not Found) loading http://localhost:54675/node_modules/ng2-file-upload/components/file-upload/file-select (…) GET http://localhost:54675/node_modules/ng2-file-upload/components/file-upload/file-drop 404 GET http://localhost:54675/node_modules/ng2-file-upload/components/file-upload/file-uploader 404 (Not Found)
Daraus kann ich sehen, dass es die NG2-Datei-Upload-Komponente ist das Auffinden aber es schlägt fehl, wenn diese Komponente versucht, Komponenten in einem Unterordner zu laden.
Versuchte es hinzufügen - hat nicht funktioniert. Gleiche Ergebnisse. –
Gleiche Fehlermeldung? Können Sie zeigen, wie Sie es in Ihre Komponente importieren? –
Ich habe den Post mit der system.config aktualisiert. Wie kann ich sehen, welche Module geladen sind? –