# storefront:build - node.js Migration von externen Modulen?

**URL:** <https://forum.shopware.com/t/storefront-build-node-js-migration-von-externen-modulen/61138>\
**Category:** Programmierung\
**Created:** [16. August 2019 um 14:51 UTC](https://forum.shopware.com/t/storefront-build-node-js-migration-von-externen-modulen/61138 "2019-08-16T14:51:14Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![Moorleiche](https://avatars.discourse-cdn.com/v4/letter/m/6f9a4e/32.png) [@Moorleiche](https://forum.shopware.com/u/Moorleiche)\
**Post date:** [16. August 2019 um 14:51 UTC](https://forum.shopware.com/t/storefront-build-node-js-migration-von-externen-modulen/61138/1 "2019-08-16T14:51:14Z")

</div>

Hey Leute, ich möchte externe node.js Module im Storefront nutzen. Ich bekomme beim storefront:build immer Fehlermeldungen like:

```
Module not found: Error: Can't resolve 'rbush' in '/home/vagrant/shopware-dev/custom/plugins/MeinPlugin/src/Resources/node_modules/ol/renderer/canvas'

```

Das liegt daran, dass die Import-Pfade in den node.js Modulen selbst nicht relativ sind… also z.B.

```
import rbush from 'rbush';

```

müsste in meinem Plugin jetzt eigentlich

```
import rbush from '../../rbush/rbush';

```

sein…

Jedoch nutze ich genau die selben Module in meiner Backend-App, d.h. beim administration:build wird mein node\_modules Ordner irgendwie indexiert oder migriert, weil ich dort keinen Fehler erhalte und auch wie erwartet die externen Module nutzen kann.

Hat jemand eine Idee wie ich das auch fürs storefront:build hin bekomme?

Alternative wäre jetzt den node\_modules Ordner im Storefront zu erweitern, jedoch ist das nur Plan B.

VG

---

<div class="post-metadata">

**Author:** ![StefanPoensgen](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/stefanpoensgen/32/14750_2.png) [@StefanPoensgen](https://forum.shopware.com/u/StefanPoensgen)\
**Post date:** [24. Februar 2020 um 22:13 UTC](https://forum.shopware.com/t/storefront-build-node-js-migration-von-externen-modulen/61138/2 "2020-02-24T22:13:03Z")

</div>

[https://github.com/stefanpoensgen/SptecLazyload/tree/master/src/Resources/app/storefront](https://github.com/stefanpoensgen/SptecLazyload/tree/master/src/Resources/app/storefront)

Hier findest du ein Beispiel wie ich es gelöst habe.

---

<div class="post-metadata">

**Author:** ![Moorleiche](https://avatars.discourse-cdn.com/v4/letter/m/6f9a4e/32.png) [@Moorleiche](https://forum.shopware.com/u/Moorleiche)\
**Post date:** [25. Februar 2020 um 13:12 UTC](https://forum.shopware.com/t/storefront-build-node-js-migration-von-externen-modulen/61138/3 "2020-02-25T13:12:12Z")

</div>

Okay das ist mir neu mit der webpack.config.js - bist du da von selbst darauf gekommen oder gibt es innerhalb von Shopware Beispiele oder Dokumentationen?

[https://github.com/stefanpoensgen/SptecLazyload/blob/master/src/Resources/app/storefront/build/webpack.config.js](https://github.com/stefanpoensgen/SptecLazyload/blob/master/src/Resources/app/storefront/build/webpack.config.js)

Aber super nice von dir! Ich checke das gleich mal am We aus und geb dir Feedback 🙂

---

<div class="post-metadata">

**Author:** ![StefanPoensgen](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/stefanpoensgen/32/14750_2.png) [@StefanPoensgen](https://forum.shopware.com/u/StefanPoensgen)\
**Post date:** [25. Februar 2020 um 21:15 UTC](https://forum.shopware.com/t/storefront-build-node-js-migration-von-externen-modulen/61138/4 "2020-02-25T21:15:25Z")

</div>

Hab im Code Hinweise gefunden und mich dann durch getestet 🙂

params kannst du dir mit console.log mal ausgeben. Das wird dann hinterher mit dem Rückgabewert der Funktion gemerged.

> <https://github.com/shopware/platform/blob/b7fa36ba80197ff49f0e54b319163a4a65c56edd/src/Administration/Resources/app/common/webpack-plugin-injector/index.js#L273>

&nbsp;

---

<div class="post-metadata">

**Author:** ![wall0t](https://avatars.discourse-cdn.com/v4/letter/w/43a26b/32.png) [@wall0t](https://forum.shopware.com/u/wall0t)\
**Post date:** [12. März 2020 um 14:39 UTC](https://forum.shopware.com/t/storefront-build-node-js-migration-von-externen-modulen/61138/5 "2020-03-12T14:39:56Z")

</div>

> [@StefanPoensgen schrieb:](https://forum.shopware.com/profile/26527/StefanPoensgen "StefanPoensgen")
> 
> [https://github.com/stefanpoensgen/SptecLazyload/tree/master/src/Resources/app/storefront](https://github.com/stefanpoensgen/SptecLazyload/tree/master/src/Resources/app/storefront)
> 
> Hier findest du ein Beispiel wie ich es gelöst habe.

Sehr Cool, Danke. Das scheint grundsätzlich so zu funktionieren, allerdings nur wenn ich mein Theme/Plugin builde. Im HMR-Modus gehts leider nicht.&nbsp;Als Workaround hab ich jetzt alle Dependencies aus meinem ThemePlugin in meiner Vagrantbox mit in den Core installiert, ist aber auch keine Dauerlösung.

---

<div class="post-metadata">

**Author:** ![Moorleiche](https://avatars.discourse-cdn.com/v4/letter/m/6f9a4e/32.png) [@Moorleiche](https://forum.shopware.com/u/Moorleiche)\
**Post date:** [13. März 2020 um 11:48 UTC](https://forum.shopware.com/t/storefront-build-node-js-migration-von-externen-modulen/61138/6 "2020-03-13T11:48:11Z")

</div>

Hat wunderbar funktioniert. Jetzt habe ich eine weitere Frage: Ist es möglich aus einem npm Modul einen bestimmten Ordner in den asset Ordner vom Storefront zu schieben? In meinem Fall geht es um die Schriftarten (FontAwesome 5), die ich ansonsten redundant in den asset Ordner packen müsste. Ist halt ein Luxusproblem, aber das wäre schon echt nice.&nbsp;

VG

---

<div class="post-metadata">

**Author:** ![ShapeAndShift](https://avatars.discourse-cdn.com/v4/letter/s/5f8ce5/32.png) [@ShapeAndShift](https://forum.shopware.com/u/ShapeAndShift)\
**Post date:** [13. März 2020 um 11:50 UTC](https://forum.shopware.com/t/storefront-build-node-js-migration-von-externen-modulen/61138/7 "2020-03-13T11:50:31Z")

</div>

@Moorleiche‍ Für die Storefront passt das bei mir auch, geht es bei dir auch für die Adminstration? Denn sobald ich es dort verwende - natürlich mit angepassten Pfad - zerschießt er die Kompilierung und core Module usw. werden nicht mehr gefunden. Bei dir auch?&nbsp;

---

<div class="post-metadata">

**Author:** ![Moorleiche](https://avatars.discourse-cdn.com/v4/letter/m/6f9a4e/32.png) [@Moorleiche](https://forum.shopware.com/u/Moorleiche)\
**Post date:** [13. März 2020 um 12:38 UTC](https://forum.shopware.com/t/storefront-build-node-js-migration-von-externen-modulen/61138/8 "2020-03-13T12:38:02Z")

</div>

@ShapeAndShift‍ nein, administration:build ging bereits schon vorher ;)&nbsp;

---

<div class="post-metadata">

**Author:** ![ShapeAndShift](https://avatars.discourse-cdn.com/v4/letter/s/5f8ce5/32.png) [@ShapeAndShift](https://forum.shopware.com/u/ShapeAndShift)\
**Post date:** [13. März 2020 um 13:18 UTC](https://forum.shopware.com/t/storefront-build-node-js-migration-von-externen-modulen/61138/9 "2020-03-13T13:18:36Z")

</div>

Also ich meine - Wenn du eine custom webpack config nutzt für die administration&nbsp; ![Angry-Face](https://forum.shopware.com/plugins/CKEditor/plugins/smiley/images/angry-face.png "Angry-Face")

---

<div class="post-metadata">

**Author:** ![Moorleiche](https://avatars.discourse-cdn.com/v4/letter/m/6f9a4e/32.png) [@Moorleiche](https://forum.shopware.com/u/Moorleiche)\
**Post date:** [13. März 2020 um 13:28 UTC](https://forum.shopware.com/t/storefront-build-node-js-migration-von-externen-modulen/61138/10 "2020-03-13T13:28:53Z")

</div>

habe ich nich probiert, im administration:build hat es immer funktioniert wenn der node\_modules-Ordner im Resources-Ordner liegt

---

<div class="post-metadata">

**Author:** ![sawden](https://avatars.discourse-cdn.com/v4/letter/s/4491bb/32.png) [@sawden](https://forum.shopware.com/u/sawden)\
**Post date:** [29. Juli 2020 um 20:28 UTC](https://forum.shopware.com/t/storefront-build-node-js-migration-von-externen-modulen/61138/11 "2020-07-29T20:28:44Z")

</div>

Hey,

habe das gleiche Problem. Beim Bauen mit “storefront:build” funktioniert alles wie gewünscht. ![Thumb-Up](https://europe1.discourse-cdn.com/flex013/uploads/shopware/original/1X/7fcda44f782696668a3d093569d15e88105769e1.png "Thumb-Up")  
Was nicht funktioniert ist der HMR-Modus mit z. B. “storefront:hot-proxy”. ![Undecided](https://europe1.discourse-cdn.com/flex013/uploads/shopware/original/1X/8ae622c50104e84c5003fedfcc22572813a67b41.png "Undecided")

Hat jemand von euch da eine Lösung gefunden?
