2013-04-17 9 views
0

Modernizr a été écrit en utilisant les définitions AMD, ce qui est sympa puisque c'est ce que j'utilise pour mon projet actuel et que je peux utiliser les dépendances de Modernizr quand j'en ai besoin. Le problème est, les modules Modernizr s'attendent tous à une hiérarchie de dossiers plats, mais j'ai déplacé les fichiers dans mon projet comme suit: lib> modernizrQuelle est la meilleure façon de nommer les modules AMD?

Quelle est la meilleure façon de changer les chemins sur les dépendances dans les définitions Modernizr? Est-ce quelque chose que je peux gérer avec RequireJS? Je pourrais évidemment le faire à la main, mais je veux être en mesure de tirer facilement dans les mises à jour Modernizr à l'avenir et ne pas avoir à mettre à jour manuellement les chemins à chaque fois.

Répondre

2

Je ne pense pas que ce serait une bonne idée. De l'docs:

La raison pour laquelle nous vous conseillons de placer Modernizr dans la tête est double: le HTML5 Shiv (qui permet à des éléments HTML5 dans IE) doit exécuter avant le <body>, et si vous utilisez l'un des Classes CSS que Modernizr ajoute, vous voudrez empêcher un FOUC.

Quoi qu'il en soit, vous pouvez spécifier les chemins complets dans un requirejs.config:

// in your main 
require.config({ 
    paths: { 
     "modernizr": "lib/modernizr" 
    } 
}); 

//in your module 
define(["modernizr"], function (modernizr) { 
}); 
+0

Juste pour un avenir à cause de pauvre âme, j'adhère à leurs recommandations et retiré la source Modernizr, et au lieu chargé dans le Modernizr généré fichier que j'ai créé à partir de leur site. Je ne recevais vraiment rien de plus en ayant les modules, puisque je chargeais tout simplement dans le module Modernizr de toute façon et pas les modules individuels eux-mêmes. –

Questions connexes