Also habe ich versehentlich mein Angular 4-Projekt gelöscht, aber ich habe noch dist Ordner mit allen Bundles und Code gepackt. Gibt es irgendeine Möglichkeit, das gesamte Projektlayout wiederherzustellen, damit ich in meinem Editor weiter programmieren kann oder ist es für immer weg? Danke.Wiederherstellung von Angular 4 Projekt von Dist-Ordner
Antwort
Nr
Wenn Sie keine Projektdateien haben, können Sie nicht Angular Anwendung Reverse-Engineering zurück Quelle zu erhalten. Sie können einen Blick auf den kompilierten Code werfen, um eine Geschäftslogik zu erhalten, wenn diese nicht zu eng mit der View-Engine von Angular verbunden ist (was nicht sein sollte, wenn Sie mit Best Practices entwickelt haben) und versuchen, diese wiederherzustellen.
Es ist wie der Versuch, von 5 auf 2 + 3 zurückzugehen. Sie haben keine Ahnung, ob es 3 + 2, 1 + 4, 4 + 1 war. Angular kompiliert Ihre Anwendung, und es gibt keine 1-1 Mapping . Insbesondere wenn Sie bedenken, dass Sie auch TypeScript verwendet haben. Angulars Build produziert zwei Compiler und einen Bundler vom Original. Irreversibel.
Hier ist eine detailliertere Aufschlüsselung der Kompilierung.
- Ihr in TypScript geschriebener Angular-Code wird vom Angular-Compiler in einen anderen TypeScript-Code kompiliert. Dieser Prozess ist theoretisch möglicherweise reversibel, abhängig davon, wie der Angular-Compiler funktioniert (ich bin dazu nicht in der Lage, darüber zu sprechen).
- Dann wird TypeScript auf JavaScript kompiliert. Dies ist irreversibel
- Ein Bundler (wie Webpack, Rollup, SystemJS oder Parcel) vermasselt mit Ihrem Code, einschließlich wer-weiß, wie viele Plugins mit Ihrem Code zu tun haben. Die meisten von ihnen sind irreversibel. Die tatsächliche Bündelung kann je nach Implementierung reversibel sein.
- Die resultierenden Bündel (oder ein einzelnes) werden minimiert. Die Irreversibilität hängt auch davon ab, wie schwer die Minifizierung war. Wenn Sie beispielsweise den Closure-Compiler von Google mit erweiterten Einstellungen verwenden, ist die Rückgabe des ursprünglichen Codes per Definition irreversibel.
Ja, das habe ich mir gedacht, Danke für die Antwort! – petar11199
Sie können versuchen, die Dateien zu deofuscieren. Sie können z.B. http://jsbeautifier.org/ – Eliseo
Was @Eliseo vorschlägt, ist der einfachste Schritt und würde Sie nirgendwohin führen. Die Kette ist wie folgt: (1) Quellcode (2) Ausgabe von Angular Compiler (3) Ausgabe von TypeScript Compiler (4) Ausgabe von Bundler wie Webpack (5) Ausgabe eines Minifier. Deobfuscation bringt dich von 5 zurück zu 4, aber das war's. –
- 1. Angular 4 neuer Projekt Erstellungsfehler
- 2. Angular 4 Projekt und TFS
- 3. Angular 4 Projekt als Libary
- 4. Verwendung von Angular 4 mit bestehendem Express-Projekt
- 5. Angular 4 - Teilen von Komponenten aus meinem Projekt
- 6. Installieren von Angular 4 in einem ASP.NET Core 1.1-Projekt?
- 7. Komponententest HttpInterceptor von Angular 4
- 8. Angular 4 Array von Strings
- 9. Kann nicht angular 4 Projekt mit Systemjs
- 10. Wie von Angular 4 nach Angular 5 zu migrieren?
- 11. Angular Herabstufung von Version 5-4
- 12. Wiederherstellung von gesperrten sync.Mutex
- 13. Erstellen von Angular 2 Projekt innerhalb von Eclipse Projekt
- 14. Angular 2 Projekt zu Angular 4 Update Ausgabe
- 15. Verwenden von Base64-Codierung in Angular 4
- 16. Importieren von Json2csv-Modul in Angular 4
- 17. Koexistenz von Angular 4 und Angular JS 1x
- 18. Importieren von Wheelnav.js in Angular 2/4
- 19. Platzieren von 4 Servlets in einem Projekt
- 20. Kompilieren von eckigen 4 Projekt mit AOT Compilation
- 21. Verwenden von jQuery mit Angular-CLI-Projekt
- 22. Angular 4 und Bootstrap 4
- 23. Wiederherstellung von Daten hinter Applets
- 24. Wiederherstellung Mongo-Datenbank von Dump
- 25. Wiederherstellung von Svn-Hotcopy-Backups
- 26. Batch-Wiederherstellung von Freunden Profilfotos
- 27. Boost ASIO: Wiederherstellung von Handlerausnahmen
- 28. Angular 4 erhalten Header von API-Antwort
- 29. Get ElementRef von Kind Komponente Angular 4
- 30. Angular 4 Erfassen von Änderungen auf app.component
ctrl + z? Papierkorb? Meine Gedanken sind, dass dies nicht möglich sein wird. Es würde es zu leicht machen, die kantigen Websites anderer Leute zu übernehmen. – Sam
Ich denke es ist schwer Glück – Oswald
Leider löschte ich es irgendwie mit GIT, also habe ich sie nicht in meinem Mülleimer. Es war vor ein paar Tagen, ich weiß, dass ich das System wiederherstellen kann, aber das ist keine Option. – petar11199