Grundsatzfragen zu Node fürs bessere Verständnis

alphakanal

New member
Grundsatzfragen zu Node / Ordnerstruktur / Module etc

Hi!

Da ich eine alte Flash Applikation gerne auf HTML/JS umsetzen möchte bzw. muss weil eben Flash, bin ich gerade dabei mich ein wenig in die Thematik Javascript / Node einzuarbeiten...
Grundlagen der objektorientierten Programmierung ( AS3, C# ) sind zwar vorhanden – mit Betonung auf Grundlagen.

Die beiden Rheinwerkbücher sind an meiner Seite:
Node.js – Das Praxisbuch.
Javascript – Das umfassende Handbuch.

Editor: VS Code auf einem Win10 System

Jedenfalls ergeben sich laufend grundsätzliche Fragen, welche mir zum besseren Verständnis helfen könnten. Vielleicht ist jemand ja so freundlich und kann mir die beantworten :)

Allem voran die Ordnerstruktur und was ich letztlich auf den Server stelle. Mein Ordner sieht so aus:

- build:
js/ output für meine bundles mit webpack

- public:
/assets/ (js/img/css )
index.html

- src:
/labels/ *.js dateien
app.js ( entry )
modul1.js
modul2.js


Teil der webpack.config:
Code:
    context: path.resolve('src'),
    
    entry: {

        ewm: "./app", // main-bundle wird in html eingelesen
       // diese bundles werden später datumsabhängig geladen ->
        ewd: "./labels/labels_default", 
        ewv: "./labels/labels_v",
        ewo: "./labels/labels_o",
        ewh: "./labels/labels_h",
        ewx: "./labels/labels_x"

    },

    output: {
        path: path.resolve('build/js/'),
        publicPath: '/public/assets/js/',
        filename:"[name].bundle.js"
    },

    devServer:{
        contentBase:'public'
    }
Jetzt ist's ja so dass Webpack die Bundles nach → build/js schreibt. In der index.html in public ist das main-bundle mit:
Code:
<script src="/public/assets/js/ewm.bundle.js"></script>
Also verschiebe ich manuell die bundles von build/ nach public/assets/js. Habe gelesen dass es besser ist nicht in den public/assets/js Ordner die Bundles auszugeben ( wenn ja: warum?) . Wenn ich das lokal dann laufen lasse werden die Pfade ordentlich aufgelöst und alles gefunden.

Nun die erste Frage:
Wenn ich das dann online stelle, wird dann online nur der public Ordner hochgeladen ? Dann würde der Pfad ja nicht mehr stimmen und müsste in assets/js/ ewm.bundle.js umgeändert werden. Wenn ich das mache läuft's lokal nicht mehr. Hab ich hier falsche path.resolve Angaben. Und sollte ich nicht besser gleich die Bundles in den public/assets/js ausgeben lassen?
 
Zuletzt bearbeitet:
Zurück
Oben