当站点位于子文件夹中时,不会加载Requirejs

时间:2014-01-31 12:41:19

标签: javascript requirejs

我有以下网站配置

index.html
scripts/
        require.js
        modules/
                mymodule.js
index.html中的

我有

<script src="/Scripts/require.js" data-main="/Scripts/Modules/mymodule.js"></script>

<script>
       $(document).ready(function () {
           require(['mymodule'], function (mymodule) {...} 
       }
</script>

在本地它可以很好地完成,但在服务器上我有这个站点的IIS在http://domainname.com/MySite-QA/这样的子文件夹中,并且requirejs尝试加载的数据不是来自http://domainname.com/MySite-QA/scripts/modules/mymodule.js而是来自http://domainname.com/scripts/modules/mymodule.js并且失败。

如何让requirejs与顶级目录和子目录中的站点一起使用?

1 个答案:

答案 0 :(得分:1)

您可以使用相对URL而不是绝对URL(使用/在脚本前面):

<script src="Scripts/require.js" data-main="Scripts/Modules/mymodule.js"></script>

但是如果html文件被移动到其他地方,那么这条路径将不得不改变,因为它是相对于它的位置