Próbuję użyć optymalizatora r.js do zbudowania wszystkich moich zależności w jednym pliku. Oto moja struktura plików:RequireJS/r.js 'baseURL' Właściwość Z pozoru ignorowana
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
Oto treść 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
})
'libs/raphael-2.1.0/raphael.amd'
zależnościami ładuje wszystko w katalogu Raphael-2.1.0. Aplikacja działa zgodnie z oczekiwaniami, jeśli mogę odwiedzić app.local/src, ładuje moduły w czasie wykonywania przez wymagają z jednym znacznikiem skryptu w moim pliku index.html jak ten:
<script src="js/libs/require-2.0.5.js" data-main="js/main.js" type="text/javascript" charset="utf-8"></script>
Jednakże jeśli próbuję uruchomić komenda node r.js -o src/build.js
od aplikacji, pojawia się błąd jak:
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
... i wszystko zostanie skopiowane do kosza „jak jest”. Jeśli dodaję obiekt 'main': 'js/main'
do obiektu ścieżki, to r.js nie może znaleźć jquery i raphael, jeśli podaję js/
ścieżkę jquery i raphael, wówczas deklaracje zależności libs/raphael-2.1.0/rapheal.amd są niepoprawne. Jeśli je zaktualizuję, wszystko będzie budowane zgodnie z oczekiwaniami, ale teraz aplikacja na app.local/src/index.html jest zepsuta. Ponadto, myślałem, że to było celem posiadania właściwości baseURL w pliku kompilacji nie? Wygląda mi na to, że baseURL jest ignorowany. Co ja robię źle?
Mam ten sam problem i doprowadza mnie to do szału! – hamishtaplin
@mysterycommand, czy znalazłeś rozwiązanie tego? – Reuben