2013-06-13 3 views
1

J'utilise angulaire + Exigent pour un projet. Lorsque j'essaie de package l'application avec r.js en utilisant:dépendance de la bibliothèque absolue dans RequireJS

node r.js -o app.build.config.js 

Tout fonctionne à l'exception des fichiers de bibliothèque. Au lieu de les rechercher sur le chemin fourni, les dépendances sont recherchées par rapport au dossier que je fournis en tant que cible.

({ 
    appDir: "C:/dev/etc/", 
    baseUrl: "javascript/core/", 
    dir: "app-build/", 
    modules: [ 
     { 
      name: "application", 
      out: "app.js" 
     } 
    ], 
    findNestedDependencies: true 
}) 

Répondre

1

Si vous souhaitez partager la même configuration que celui utilisé par votre code d'exécution pour trouver l'emplacement de vos bibliothèques (par exemple angulaire), vous pouvez utiliser l'option mainConfigFile:

...if you prefer the "main" JS file configuration to be read for the build so that you do not have to duplicate the values in a separate configuration, set this property to the location of that main JS file. The first requirejs({}), require({}), requirejs.config({}), or require.config({}) call found in that file will be used.

Ainsi, votre build config pourrait ressembler à quelque chose comme ceci:

({ 
    appDir: "C:/dev/etc/", 
    baseUrl: "javascript/core/", 
    mainConfigFile: 'c:/dev/etc/js/config.js', // whatever your file is called 
    dir: "app-build/", 
    modules: [ 
     { 
      name: "application", 
      out: "app.js" 
     } 
    ], 
    findNestedDependencies: true 
}) 

J'ai eu le même problème et ce qui précède l'a résolu pour moi. Avant d'ajouter la ligne mainConfigFile j'obtiendrais quelque chose comme ceci de l'optimiseur de r.js:

Tracing dependencies for: application Error: ENOENT, no such file or directory '/some/path/app-build/jquery.js' In module tree: application`

Questions connexes