Javascript 使用DurandalJs加载远程视图
我正在学习DurandalJs,并试图从不同的域加载远程视图,但是,requireJs不断将“.js”附加到我的html视图的url,导致404错误。我的目标是建立一个框架,在这个框架中,我可以为使用我的应用程序的不同客户端重用html代码片段。以下是在我的客户端应用程序的index.html文件中对requirejs的调用:Javascript 使用DurandalJs加载远程视图,javascript,requirejs,durandal,durandal-2.0,Javascript,Requirejs,Durandal,Durandal 2.0,我正在学习DurandalJs,并试图从不同的域加载远程视图,但是,requireJs不断将“.js”附加到我的html视图的url,导致404错误。我的目标是建立一个框架,在这个框架中,我可以为使用我的应用程序的不同客户端重用html代码片段。以下是在我的客户端应用程序的index.html文件中对requirejs的调用: < script src="http://myframework.com/lib/require/require.js" data-main="http://
< script src="http://myframework.com/lib/require/require.js"
data-main="http://myframework.com/lib/framework"></script>
在我的远程服务器上运行framework.js之后,我在我的框架中建立了一组到资源的路径。我还将baseUrl设置为“app”,它驻留在我的客户端实现上。因此,最终结果是我有一组远程资源和一组本地资源。请参阅此链接:
无论如何,到目前为止,一切都在进行中。我可以加载我的远程资源。我可以在我的客户机上加载“main”。尝试加载远程viewmodel和关联视图时会出现此问题。我有一个“appBase”路径,在这里我希望在我的应用程序的不同实现中加载通用的视图模型和视图。我的路线设置如下:
define(['plugins/router'], function (router)
{
return {
router: router,
activate: function () {
return router.map([
{ route: ['', 'home'], moduleId: 'appBase/viewmodels/home',title: 'Welcome'},
]).mapUnknownRoutes('hello/index', 'not-found')
.activate();
}
};
});
注意,我使用'appBase/viewmodels/home'作为moduleId。appBase是在我的框架中建立的指向远程服务器上某个位置的路径之一。requireJs正在查找远程资源的路径,但它将“.js”附加到html文件扩展名,导致找不到404。requireJs正在制作:
http://myframework.com/appBase/views/home.html.js
关于如何让DurandalJs在远程服务器上加载viewmodule及其视图,有什么想法吗?为什么要将.js附加到html资源的Url中?谢谢你的帮助。我知道了如何删除“.js”扩展名。它与跨域请求有关。在这里可以找到非常简单的解决方案:
http://myframework.com/appBase/views/home.html.js