2

我有以下简单的结构:

索引.html

...
<script src="static/js/lib/require.js" data-main="static/js/main"></script>
</head>
...

静态/js/main.js

requirejs.config({
  baseUrl: 'static/js',
  paths: {
    m: 'modules'
  }
});

require(['m/test01'], function(test01) {
  console.log(test01.print());
});

静态/js/modules/test01.js

define(['m/test02'], function(test02){
  return {
    print: function() {
      return 'test01 and '+ test02;
    }
  };
});

静态/js/modules/test02.js

define(function() {
  return 'test02';
});

现在,当我直接打开 index.html (file:///index.html) 时,一切顺利。脚本加载工作,“test01 和 test02”记录在控制台中。

但是,如果我通过 xampp (localhost/requiretest/index.html) 打开 test01.js 的加载顺利,但对于 test02.js,我在控制台 (Firefox) 中收到此错误:

NetworkError: 404 Not Found - localhost/01-test-grunt/static/js/test02.js
(removed "http://" before localhost for stackoverflow)

如您所见,URL 中缺少“modules/”部分。有人知道会发生什么吗?

注意:当我将 baseUrl 更改为“static/js/modules”时,它确实有效,但由于我的 grunt 构建过程,我不能这样做。无论如何,我假设也不会加载其他路径,所以这是一个错误还是我做错了什么?

4

0 回答 0