使用weyland的Durandal优化不适用于requirejs路径

时间:2013-12-03 10:12:19

标签: javascript requirejs durandal hottowel weyland

我使用John Papa的精美HotTowel模板开发了一个SPA网站。 在做优化的同时,我遇到了一个问题。我简化了情况,使问题更加清晰。

我使用的某个地方需要获取JavaScript viewModel,如:

require(["myScripts/serviceRunner"], function (viewModel) {
    console.log("ViewModel loaded:" + viewModel)                            
                  });

在服务器端,有一个控制器和动作来处理http请求,如:

http://localhost:1441/api/UL/LoadJS

所以不要拥有require(["http://localhost:1441/api/UL/LoadJS/serviceRunner"]。我已经定义了一条路径:

require.config({
    paths: {
    "myScripts": "http://localhost:1441/api/UL/LoadJS"
    ...

一切正常。但经过优化并使用weyland创建主体后,需求无法加载给定的路径。

我是否有任何错过优化的配置?

仅供参考,我正在使用Durandal 2.0.1

1 个答案:

答案 0 :(得分:0)

您是否在weyland-config.js文件中添加了“myScripts”条目?

就我而言,您必须在main.js weyland-config.js部分的rjs paths中添加相同的路径。

exports.config = function(weyland) {
...
   .task.rjs({
   ...
      rjs:{
      ...
      paths : { 
           "myScripts": "http://localhost:1441/api/UL/LoadJS"
           ...
           }
      }
   });
}