2012-08-12 14 views
6

Sto cercando di utilizzare r.js optimizer per creare tutte le mie dipendenze in un singolo file. Qui è la mia struttura dei file:RequireJS/r.js 'baseURL' Proprietà apparentemente ignorata

app 
    bin 
    src 
    css 
     main.css 
    js 
     libs 
     raphael-2.1.0 
      eve.js 
      raphael.amd.js 
      raphael.core.js 
      raphael.svg.js 
      raphael.vml.js 
     jquery-1.8.0.js 
     require-2.0.5.js 
     main.js 
    build.js 
    index.html 
    r.js 

Ecco il contenuto della build.js:

({ 
    baseURL: 'js', 
    dir: '../bin', 
    paths: { 
    'jquery': 'libs/jquery-1.8.0', 
    'raphael': 'libs/raphael-2.1.0/raphael.amd' 
    }, 
    name: 'main', 
    removeCombined: true 
}) 

Il 'libs/raphael-2.1.0/raphael.amd' carichi di dipendenza tutto il resto nella directory raphael-2.1.0. L'applicazione funziona come previsto se la mia visita app.local/src, carica i moduli a runtime tramite richiedono con un unico tag script nel mio file index.html in questo modo:

<script src="js/libs/require-2.0.5.js" data-main="js/main.js" type="text/javascript" charset="utf-8"></script> 

Tuttavia, se si tenta di eseguire il comando node r.js -o src/build.js da app, ottengo un errore come:

Error: ERROR: module path does not exist: /app/src/main.js for module named: main. Path is relative to: /app 
at /app/r.js:14215:31 

... e tutto ciò che viene copiato nella bin "come è". Se aggiungo 'main': 'js/main' all'oggetto dei percorsi, quindi r.js non può trovare jquery e raphael, se io aggiungo js/ ai percorsi jquery e raphael allora le dichiarazioni di dipendenza libs/raphael-2.1.0/rapheal.amd sono errate. Se li aggiorno, allora tutto si sviluppa come previsto, ma ora l'app su app.local/src/index.html è rotta. Inoltre, ho pensato che fosse il punto di avere una proprietà baseURL nel file di costruzione no? Mi sembra che BASIC sia stato ignorato. Che cosa sto facendo di sbagliato?

+0

Avere lo stesso problema e mi sta facendo impazzire! – hamishtaplin

+0

@mysterycommand, hai trovato una soluzione a questo? – Reuben

risposta

0

Come la maggior parte delle cose in JavaScript, l'impostazione baseUrl fa distinzione tra maiuscole e minuscole. Cambia URL a Url e vedere se aiuta.

+0

Ottengo lo stesso "problema". Non è davvero un problema, ma viene semplicemente ignorato anche con baseUrl. – FlavorScape

Problemi correlati