2012-08-12 85 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