RequireJS/r.js'baseURL'属性似乎被忽略了

mys*_*and 6 javascript optimization build requirejs

我正在尝试使用r.js优化器将所有依赖项构建到单个文件中.这是我的文件结构:

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
Run Code Online (Sandbox Code Playgroud)

以下是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
})
Run Code Online (Sandbox Code Playgroud)

'libs/raphael-2.1.0/raphael.amd'依赖负载一切都在拉斐尔-2.1.0目录人.如果我访问app.local/src,应用程序按预期工作,它在运行时通过require在我的index.html文件中使用单个脚本标记加载模块,如下所示:

<script src="js/libs/require-2.0.5.js" data-main="js/main.js" type="text/javascript" charset="utf-8"></script>
Run Code Online (Sandbox Code Playgroud)

但是,如果我尝试node r.js -o src/build.js从app 运行命令,我会收到如下错误:

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
Run Code Online (Sandbox Code Playgroud)

......并且所有内容都被"原样"复制到bin中.如果我添加'main': 'js/main'到paths对象,那么r.js找不到jquery和raphael,如果我调用js/jquery和raphael路径,那么libs/raphael-2.1.0/rapheal.amd的依赖声明是错误的.如果我更新这些,那么所有内容都按预期构建,但现在app.local/src/index.html上的应用程序已损坏.另外,我认为在构建文件中有一个baseURL属性没有意义吗?在我看来,baseURL被忽略了.我究竟做错了什么?

bec*_*rel 0

与 JavaScript 中的大多数内容一样,baseUrl设置区分大小写。将URL更改为Url并查看是否有帮助。