Comprendre les options r.js w / grunt & backbone et les chemins relatifs

J'essaie de comprendre comment utiliser r.js. Je continue d'obtenir des erreurs, un tel chemin de module n'existe pas, ou les fichiers sont déversés là où ils ne devraient pas être.

J'ai une application de page unique intégrée au wordpress. J'ai adopté ce modèle de base pour ma structure générale, même si j'ai réglé les choses de façon tout à fait différente. La structure de mon fichier est illustrée ci-dessous.

.Theme Folder ├── _assets | ├── _application | | ├── css | | ├── fonts | | ├── img | | ├── _js | | | ├── main.js //this is my require.js config file | | | ├── _app //here's where the boilerplate structure comes into play | | | ├── collections | | | ├── models | | | ├── routers | | | ├── templates | | | ├── views | | | ├── libs | | | ├── utilities | | ├── scss | | ├── video | └── build //Concatenated application directory mirror | └── gruntfile.js | └── bower.json | └── package.json 

Pour sauver le chagrin de déchiffrer mon gigantesque grognement. Fondamentalement, je l'ai initialement configuré pour que tout soit conatené, uglifié et compilé dans le dossier de construction. J'ai créé une tâche simple pour r.js de simplement tester les choses. Je reçois une erreur indiquant que ma bibliothèque lodash ne peut pas être trouvée (premier chemin dans mon fichier main.js). Il pense que lodash est dans assets / lodash.js il ignore ma propriété baseUrl dans mon main.js (configuration require.js) c'est l'emplacement réel est assets / application / js / libs / lodash.js. Ma tâche requise est ci-dessous:

  requirejs: { compile: { options: { baseUrl: "./", mainConfigFile: "application/js/main.js", name: "./application/js/main", out: "./build/js/optimized.js" } } } 

J'ai le plus de difficulté à comprendre ce que fait exactement le rjs. Quand je m'attends à ce qu'il fonctionne, il ne cherche pas les fichiers dans le bon répertoire. Lorsque je le configure pour trouver les bons fichiers, il copie mon dossier complet d'actifs et le détruit dans mon dossier de construction … Ce qui a causé beaucoup de confusion quant à ce que tous les r.js font et à ce qu'il veut que je fasse entrer pour cela Options.

C'est l'erreur que je reçois actuellement:

 >> Error: ENOENT, no such file or directory >> 'path-to-theme-folder-here/assets/libs/lodash.js' >> In module tree: >> application/js/main.min 

Il me semble que la description que vous donnez, cela devrait fonctionner:

 requirejs: { compile: { options: { baseUrl: "application/js/", mainConfigFile: "application/js/main.js", name: "main", out: "build/js/optimized.js" } } }