2016-04-17 4 views
1

Ich versuche, eine Bibliothek mit Webpack zu schreiben. Ich verwende Code-Aufteilung mit require.ensure in meiner Hauptdatei. Problem ist, dass es versucht, alle Chunks von der Basis-URL aufzulösen. Ist es möglich, es relativ zum Einstiegspunkt zu machen?Webpack Code Splitting, relative URL

Zum Beispiel füge ich meinen Einstiegspunkt als

<script src="node_modules/mylib/index.js"> 

Wenn diese Datei require.ensure('./dep.js') tut es wird versuchen, /dep.js statt node_modules/mylib/dep.js zu laden.

Ich habe eine Umgehung durch Manipulieren <base> Tag gemacht, aber es ist wirklich ein hässlicher Hack. Ich habe das Gefühl, dass es eine "webpacky" -Lösung geben sollte.

+1

Können Sie versuchen, https://webpack.github.io/docs/configuration.html#output-publicpath? –

+0

Es funktioniert! Bitte mach eine Antwort, ich werde es akzeptieren. Ich brauchte diese Option: '__webpack_public_path__' – Martynas

+0

Cool zu hören. Eine Antwort hinzugefügt. Hoffentlich ist es klar genug. –

Antwort

2

Der Schlüssel ist in publicPath verwandten Einstellungen. Sie kann zur Laufzeit dynamisch mit der Deklarationsart __webpack_public_path__ = window.resourceBaseUrl; eingestellt werden.

+0

Also, was Sie vorschlagen hier ist, diese 'resourceBaseUrl' eine globale Variable von der Server-Seite, so dass es in Ihrem Webpack-Bundle verwendet werden kann, richtig? – elQueFaltaba

+0

Korrigieren. Sie können es über Server so steuern. –

+0

Beachten Sie, dass die URL einen Schrägstrich benötigt .. oh my ... – haffla