seajs를 사용할 때 어떻게 모듈화 jquery

956 단어 seajsjquery
최근에 오래된 프로젝트 하나를 인수하여 seajsjquery를 사용했다.
문제.
그러나 업그레이드jquery 과정(jquery 1.9---> jquery 2.2.4)에서 다음과 같은 문제에 부딪혔다.
var $ = require('jquery'); // error: $ null

까닭
  • jquery의 불러오는 경로는 정확하지만 $는null입니다.
  • seajs에서 Require 호출은 두 가지 방식이 있습니다.
  • factory function 하나만 전달하면 이 모듈은 익명입니다. 모듈(한 파일은 이렇게 설정할 수 있습니다)
  • define(module id,dependency,factory) 전달, 이 모듈은 구명 모듈(module id와 path가 일치해야 함)

  • 구명 모듈의 id(module id)와 Require()의 매개 변수가 일치하지 않을 때null을 되돌려줍니다. 이것이 jquery가null인 이유입니다.
    해결책
    jquery 원본 코드 끝에서 수정 (jquery의 다른 버전은 이 부분이 다를 수 있습니다)
    if ( typeof define === "function" && define.amd ) {
        define( "jquery", [], function() {
         return jQuery;
         } );
    }

    대상:
    if ( typeof define === "function") {
        define(function() {
            return jQuery;
        } );
    }

    좋은 웹페이지 즐겨찾기