2016-12-02 3 views
0

J'utilise requirejs et j'ai du mal à faire fonctionner l'outil d'optimisation. Tout ce que je veux faire est d'optimiser mes fichiers javascript dans un fichier script avec toutes mes dépendances inclus.Requirejs Optimizer ne pas compiler

Tout mon dossier sont dans une js/dossier et j'ai vendeurs de sous-dossier/

Je dispose d'un fichier de configuration qui ressemble à ceci (config.js):

requirejs.config({ 

baseUrl: ".", 
out: "main-built.js", 
deps: ["main"], 

paths: { 
jquery: "vendor/jquery", // v.1.10.2 
bootstrap: "vendor/bootstrap", 
ajaxform: "vendor/ajaxform", 
skrollr: "vendor/skrollr", 
jqueryform:"vendor/jqueryform" 
}, 

shim: { 
bootstrap: { 
    deps: ["jquery"], 
    exports: "bootstrap", 
}, 

    ajaxform: { 
    deps: ["jquery"], 
    exports: "ajaxform", 
}, 
     jqueryform: { 
    deps: ["jquery"], 
    exports: "jqueryform", 
} 

} 
}); 

Et I ont un principal fichier javascript (de main.js) qui ressemble à ceci:

if (typeof jQuery === 'function') { 
define('jquery', function() { return jQuery; }); 
} 


define(["jquery","bootstrap", "ajaxform","skrollr"], 
function($, bootstrap, ajaxform, skrollr) { 

//have other code here 

}); 

J'ai aussi créé un fichier de construction:

({ 
baseUrl: ".", 
paths: { 
jquery: "vendor/jquery", // v.1.10.2 
bootstrap: "vendor/bootstrap", 
ajaxform: "vendor/ajaxform", 
skrollr: "vendor/skrollr", 
jqueryform:"vendor/jqueryform" 
}, 
shim: { 
bootstrap: { 
    deps: ["jquery"], 
    exports: "bootstrap", 
}, 

    ajaxform: { 
    deps: ["jquery"], 
    exports: "ajaxform", 
}, 
     jqueryform: { 
    deps: ["jquery"], 
    exports: "jqueryform", 
} 

}, 
name: "main", 
out: "main-built.js" 
}) 

Tout le fichier de construction est compresser le fichier main.js lui-même et n'inclut pas tous les fichiers nécessaires.

J'ai essayé de faire fonctionner cela pendant des semaines et je n'arrive pas à me débrouiller, alors toute aide serait vraiment appréciée. Merci

Répondre

0

Essayez d'ajouter une entrée de modules à votre fichier de construction avec votre module principal, comme dans:

modules: [ 
    { name: 'main' } 
] 

Vous pouvez voir toutes les options pour le fichier de construction ici: https://github.com/requirejs/r.js/blob/master/build/example.build.js

+0

Merci pour votre replay Blatt, Cela ne semble pas faire de différence. Il est étrange qu'il produise le commentaire du skroller.js: /*! skrollr 0,6.30 (2015-08-12) | Alexander Prinzhorn - https://github.com/Prinzhorn/skrollr | Gratuit à utiliser selon les termes de la licence MIT */ mais le code ci-dessous semble être le début de bootstrap: J'ai vérifié le lien vers example.build.js mais je ne vois rien qui Je suis manquant là. Des idées? – aido14

+0

Se pourrait-il que votre sous-dossier soit 'vendeur', mais que vous utilisiez 'vendeur' pour référencer le dossier dans votre fichier de construction? – blatt

+0

Non, mon nom de dossier est vendeur. Je peux sembler l'obtenir pour compiler jquery et bootstrap bu aucun des autres fichiers et aussi les déclencheurs que j'ai dans mon main.js (je n'ai pas inclus dans le code) – aido14