Webpack war uns beim Schreiben von isomorphem Javascript und beim Austauschen von npm
-Paketen für Browser-Globals sehr nützlich.
Also, wenn ich das Paket Und dann benötigt mein CommonJS So weit, so gut. Hier ist meine Frage: Das ist einfach genug, wenn Sie ganze Module benötigen, aber was ist, wenn ich ein Submodul / eine individuelle Eigenschaft eines exportierten Moduls benötigen muss? Sagen wir zum Beispiel, ich möchte den WhatWG URL-Standard isomorph verwenden. Ich könnte das Und dann kann ich Wie sage ich Webpack, das Vorkommen von node-fetch
npm
auf Node.js verwenden, aber beim Bündeln ausschließen und einfach den systemeigenen Browser fetch
global verwenden möchte, kann ich es einfach in meinem webpack.config.js
: const fetch = require('node-fetch')
wird in const fetch = window.fetch
(oder was auch immer es tut) transpiliert. urlutils
npm
-Modul verwenden, welches module.exports
die gesamte URL-Klasse, also sehen meine Anforderungen folgendermaßen aus: urlutils
in meinem externals
Abschnitt auflisten, kein Problem. Aber in dem Moment, in dem ich ein neueres (und mehr unterstütztes) npm
-Paket, sagen wir, whatwg-url
, verwenden möchte, weiß ich nicht, wie man es webpackt, da meine Anforderungen wie aussehen: require('whatwg-url').URL
durch den globalen Browser URL
? zu ersetzen?
Zuerst möchte ich hervorheben, dass ich kein Webpack-Experte bin. Ich denke, es gibt eine bessere Art der Bündelung während der Bauzeit. Wie auch immer, hier ist meine Idee:
webpack.config.js
entry.js
content.js
index.html
Wie ich im Kommentar gesagt habe, wird es zwei Bibliotheken für das Webbündel bündeln - Platzverschwendung.
Nun, für NodeJS, ändern Sie die target
von web
in node
und es sollte die andere Bibliothek nehmen. Ссылка
Ich habe ein Modul für 'isomorphe' Apps gefunden: Ссылка
Ich denke, Sie könnten versuchen, zwei, mittlere content.js
-Dateien als Parameter für das Modul zu verwenden. Einer enthält urlutis
und der zweite whatwg-url
. Dann würde es dynamisch erkennen, wofür es Ihre Dateien kompiliert und das richtige Modul verwendet.
Ich hoffe, es hilft.
Tags und Links javascript node.js webpack