2013-04-30 2 views
1

stealjs와 함께 canJS를 사용하는 데 문제가 있습니다. javascriptmvc (3.3 canJS 사용)의 저장소를 복제했습니다. 지금은 내가 "독립 모듈"예컨대 레이아웃 (발판 도구를 사용하여 생성)을했습니다 내 응용 프로그램의 다른 부분에서이 폴더 구조StealJS and CanJS

/js 
    /can 
    /documentjs 
    /funcunit 
    /plugins 
    . 
    . 
    . 

을했습니다. 내 페이지에서 "js/steal/steal.js? path/to/module/layout"을 사용하여이 모듈을로드하면 작동합니다. 내 layout.js과 같이 내부의 일부 JQuery와 플러그인 (JS 메인 폴더에있는 예)를 훔친 경우

steal('plugins/jqueryplugin.js', 'plugins/jqueryplugin.css', function() { 
    // my code here 
}); 

여전히 작동,하지만 난 "dependecies"일부 목록에 추가 할 때 구성 요소 "canJS"(도구로 생성 된 fixture.js ... can.fixture)가 중지되어 모든 작업이 중단됩니다. 나는 또한 시도했다 :

steal('that').then('this', function() {}); 

그러나 나는 같은 결과를 ..... 실패했다! 누구도 힌트를 가지고 있니?

답변

1

좋아요. 문제가 발견되었습니다. 이 stealjscanjs 아무 문제가 없지만,

canjs 그냥 내 응용 프로그램을 중단합니다

JQuery와

의 자체 버전을로드합니다. 이제는 canjs와 jquery를 별도로로드하는 방법을 찾아야합니다 (yii를 사용하고 일부 확장은 jquery를 특정 시간에로드해야하므로 canjs를 기다릴 수 없습니다).

+0

답변을 수락 함으로 표시하십시오. :) –

0

문제는 jQuery의 버전 또는 종속성의 순서입니까?

stealconfig.js를 통해 steal을 구성하여 다른 버전의 jQuery를 사용하고 종속성을 관리 할 수 ​​있습니다.

은 GitHub의의의 repo에서 찾을 수있다 : (i가 아래 하나를 추가하므로이 예제는 종속성을 표시하지 않습니다) https://github.com/bitovi/steal/blob/master/stealconfig.js

steal.config({ 
    map: { 
    "*": { 
    "jquery/jquery.js": "jquery", // Map to path 
    "bootstrap/bootstrap.js": "bootstrap", 
    "can/util/util.js": "can/util/jquery/jquery.js" 
    } 
    }, 
    paths: { 
    "jquery": "can/lib/jquery.1.8.3.js", // Path to jQuery 
    "bootstrap": "lib/bootstrap.js" 
    "yui/yui.js" : "can/lib/yui-3.7.3.js", 
    }, 
    shim : { 
    jquery: { 
     exports: "jQuery" 
    }, 
    bootstrap: { // A dependency example 
    'deps': ['jquery'] 
    } 
    }, 
    ext: { 
    js: "js", 
    css: "css", 
    less: "steal/less/less.js", 
    coffee: "steal/coffee/coffee.js", 
    ejs: "can/view/ejs/ejs.js", 
    mustache: "can/view/mustache/mustache.js" 
    } 
}); 

참고 :이, 검증되지 않은 예입니다이 도움이되기를 바랍니다.

0

나는 stealJs에서 문제가 발생했다. 나는 JavascriptMVC,
과 잘 작동한다는 것을 알고있다. 이제 dependency를 관리하기 위해 AMD requireJs를 사용하고 있으며, canj와 잘 작동한다. 여기 http://canjs.com/guides/using-require.html 문서입니다. 도움을 받으시기 바랍니다.