2017-08-18 1 views
1

Je migre/déplace un projet basé sur require.js vers webpack v3. Comme tous mes modules utilisent la syntaxe suivante:Migration de requirejs vers le webpack

define([modules,..], function(mod1,..) 

qui déclare les modules à utiliser, et attribue les modules aux variables dans la fonction anonyme. Cela semble être obsolète depuis v2 de webpack. Je ne trouve aucune information à ce sujet (sauf pour la documentation du web pack v1).

Dois-je réécrire tous mes modules sur les communs (y compris les dépendances) ou y a-t-il une manière intelligente d'utiliser les modules AMD?

aide a beaucoup apprécié :-) Cordialement

Répondre

1

AMD n'a jamais trouvé une grande utilité en dehors de requirejs si probable que vous aurez besoin de convertir. Il existe des outils qui vous aideront à:

Il y a des mises en garde de (https://github.com/anodynos/uRequire/wiki/nodejs-Template):

  • traduction d'exécution des chemins comme modèles/PersonModel à ../../models/PersonModel, selon l'endroit d'où il a été appelé. Vous obtiendrez toujours les chemins bundleRelative convertis au moment de la construction, en leur équivalent nodeRs.

Pour la plupart des projets, ce n'est pas un problème.

  • Impossible d'utiliser la version asynchrone de besoin ([ 'dep'], la fonction (dep) {...})

Vous devriez être en mesure d'utiliser la version synchrone de besoin. Si vous utilisez Vous trouverez la version webpack de webpack2 vous pouvez utiliser System.import ou require.ensure

  • Impossible d'exécuter requirejs plugins chargeur, comme le texte! ... ou JSON! ...

tous ces plugins

  • Il n'y a pas de carte /, c.-à-webRootMap etc ou en utilisant {le baseUrl: ".... "} du requirejs.config ou {chemins:" lib ":" ../../ lib"}

Ceci peut être répliqué avec https://www.npmjs.com/package/babel-plugin-module-alias

+0

Merci pour votre réponse @CaptEmulation. J'ai découvert que le support de webpack est sorti de la boîte, mais mon problème semble être ailleurs. L'utilisation de pager.js avec knock-out ne s'initialise pas correctement (prétend que pager est indéfini même si je l'ai demandé) – Svendole

+0

N'hésitez pas à mettre sur un rapport public et de fournir un lien si vous voulez un autre ensemble d'yeux – CaptEmulation

+0

J'ai créé un dépôt public avec seulement les fichiers essentiels: [link] (https://github.com/svendlove/front) @CaptEmulation merci pour votre temps! – Svendole