2012-08-12 65 views
6

我正在嘗試使用r.js優化器將所有依賴關係構建到單個文件中。這裏是我的文件結構:RequireJS/r.js'baseURL'看似忽略的屬性

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 

這裏是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'依賴負荷一切都在拉斐爾-2.1.0目錄人。該應用程序的工作原理如果我訪問app.local/src目錄如預期,它加載在運行時通過模塊與我的index.html文件一個腳本標籤這樣的要求:

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

但是,如果我嘗試運行命令node r.js -o src/build.js從應用程序,我得到一個錯誤,如:

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 

...一切被複制到倉「原樣」。如果我將'main': 'js/main'添加到路徑對象,那麼r.js找不到jquery和raphael,如果我將js/添加到jquery和raphael路徑,那麼libs/raphael-2.1.0/rapheal.amd的依賴聲明是錯誤的。如果我更新這些內容,那麼所有內容都按預期構建,但現在app.local/src/index.html中的應用程序已損壞。此外,我認爲這是在構建文件沒有baseURL屬性點?它在我看來像baseURL被忽略。我究竟做錯了什麼?

+0

有同樣的問題,它讓我生氣! – hamishtaplin 2013-10-07 09:04:25

+0

@mysterycommand,你有沒有找到解決辦法? – Reuben 2013-11-28 23:19:30

回答

0

與JavaScript中的大部分內容一樣,baseUrl設置區分大小寫。更改URLUrl並查看是否有幫助。

+0

我得到同樣的「問題」。這不是一個真正的問題,但即使使用baseUrl它也會被忽略。 – FlavorScape 2014-07-08 18:04:29