• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Frage js-File wird nicht gefunden

mdr107

Neues Mitglied
Hallo,

ich experimentiere ein bisschen mit angular.js und möchte eine kleine web-app aufbauen. Im Grunde funktioniert sie auch. Bis jetzt habe ich angular über den CDN-link eingebunden wollte die Dateien aber lokal speichern.

Meine Ordner-Struktur sieht wie folgt aus:

-app
-node_modules
-angular
(angular.js)
-public
(index.html)

In der index.html Datei möchte ich mit dem Tag
<script src = "../node_modules/angular/angular.js"></script>
Angular einlesen. Als Server nutze ich node.js und starte ihn im "app-Ordner".

Habe ich hier mit den zwei punkten einen Fehler gemacht?

Vielen Dank schon mal für die Antworten!

Marc
 
Werbung:
Wenn dein DOCUMENT-ROOT im Public Verzeichnis liegt müssen auch da deine gelinkten Dateien liegen.
Der User hat auf die anderen Verzeichnisse keinen zugriff.
 
Danke für die schnelle Antwort! Das heißt, es wäre wahrscheinlich am sinnvollsten, meine index.html in den App-Ordner zu legen?
VG
Marc
 
Werbung:
sollte es nicht einfach ohne die ".." gehen? vorausgesetzt node_modules liegt in app und nicht daneben...
Das sieht man leider nicht so gut
 
Nein würde ich nicht machen, alles worauf der User Zugriff haben muss liegt unter dem Verzeichnis public(DOCUMENT-ROOT), die Anwendung liegt darüber wie du sonst die Struktur aufbaust bleibt dir überlassen.
 
Ich sehe gerade, die Leerzeichen sind verloren gegangen. Public und node_modules sind beide im app-Ordner und angular entsprechend im node_modules Ordner.

@bodo92 Dann komme ich aber nicht drum herum die angular Dateien auch in den public Ordner zu verschieben oder gibt es eine andere Möglichkeit?
 
Werbung:
Wenn du die Struktur so anlegst sollte es doch eigentlich gehen!?

Code:
- application 
    - node_modules 
    - public //Document Root
        index.html
        - includes
            angular.js

Dachte anfangs aufgrund der fehlenden Leerzeichen das bei dir alle Verzeichnisse auf der Selben Ebene liegen..
 
Hallo,

ich experimentiere ein bisschen mit angular.js und möchte eine kleine web-app aufbauen. Im Grunde funktioniert sie auch. Bis jetzt habe ich angular über den CDN-link eingebunden wollte die Dateien aber lokal speichern.

Man verlinkt aus Node- und Bower-Verzeichnissen nicht direkt, sondern kompiliert die darin enthaltenen Dateien. Mit Node.js kann man viele Dinge tun, z.B. eine Toolchain aufbauen oder Full JS Applications entwickeln. Aber bevor ich jetzt hier ins Detail gehe, wie weit reichen denn deine Kenntnisse? Falls du gerade erste Schritte in Angular machst, reicht auch die CDN-Verlinkung und über Strukturen spuckt Google genügend Ergebnisse aus.

Wenn du dich zusätzlich mit Node beschäftigen willst, sollte dein erster Anlaufpunkt Grunt sein. Grunt ist ein Taskrunner, der Dateien kompiliert, lintet und automatisch Development und Production Environments erstellen kann. Dabei lernst du auch, wie Apps strukturiert werden. Von Grunt wäre dann der nächste Schritt Yeoman, bzw. mean.io / mean.js.
 
Werbung:
Realtime Apps mit Node und socket.io sind ein ein klassisches Szenario. Bei jedem Update am Model werden sämtliche Clients (mit Ausnahme des ändernden) benachrichtigt. Das ist quasi Three-Way-Databinding im Gegensatz zum Two-Way-Databinding von Angular, bei dem das Model-View-Update nur bei dem Client stattfindet, der Änderungen vornimmt.

Node plus Grunt wird dagegen beim Development eingesetzt. Bei jedem Speichern einer Datei werden alle .js, .scss, .html files kompiliert, kopiert und der Browser automatisch refreshed. Auf Production kann dann auch ein Nginx oder Apache arbeiten.
 
Vielen Dank für die Antworten und Tipps. Tiefgreifende Kenntnisse habe ich noch nicht, von daher bin ich froh über die Ansatzpunkte!
 
Werbung:
Zurück
Oben