2

私は次の単純な構造を持っています:

index.html

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

static/js/main.js

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

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

static/js/modules/test01.js

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

static/js/modules/test02.js

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

index.html を直接 (file:///index.html) 開くと、すべてうまくいきます。スクリプトのロードが機能し、「test01 and 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' に変更すると機能しますが、ビルドプロセスが面倒なため、これを行うことはできません。とにかく、他のパスも読み込まれないと思いますので、これはバグですか、それとも何か間違っていますか?

4

0 に答える 0