Estoy tratando de usar el optimizador r.js para compilar todas mis dependencias en un solo archivo. Aquí está mi estructura de archivos:RequireJS/r.js 'baseURL' Propiedad aparentemente ignorada
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
Éstos son los contenidos de 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
})
El 'libs/raphael-2.1.0/raphael.amd'
cargas de dependencia todo lo demás en el directorio Raphael-2.1.0. La aplicación funciona como se esperaba si volviese a app.local/src, que carga los módulos en tiempo de ejecución a través requieren con una sola etiqueta de script en mi archivo index.html como esto:
<script src="js/libs/require-2.0.5.js" data-main="js/main.js" type="text/javascript" charset="utf-8"></script>
Sin embargo, si trato de correr node r.js -o src/build.js
el comando de aplicación, me sale un error como:
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
... y todo se copia en bin "tal cual". Si agrego 'main': 'js/main'
al objeto paths, entonces r.js no puede encontrar jquery y raphael, si anuncio js/
en las rutas jquery y raphael entonces las declaraciones de dependencia de libs/raphael-2.1.0/rapheal.amd son incorrectas. Si los actualizo, todo se desarrolla como se esperaba, pero ahora la aplicación en app.local/src/index.html está rota. Además, pensé que ese era el punto de tener una propiedad baseURL en el archivo de compilación no? A mí me parece que se está ignorando el URLURL. ¿Qué estoy haciendo mal?
¡Tener el mismo problema y me está volviendo loco! – hamishtaplin
@mysterycommand, ¿ha encontrado una solución a esto? – Reuben