복붙노트

[JQUERY] 일치하지 않는 익명 () 모듈을 정의

JQUERY

일치하지 않는 익명 () 모듈을 정의

해결법


  1. 1.AlienWebguy 말했듯이, 워드 프로세서 당 require.js는 경우에 날려 버릴 수 있습니다

    AlienWebguy 말했듯이, 워드 프로세서 당 require.js는 경우에 날려 버릴 수 있습니다

    require.js 모듈과 함께 browserify에 내장 된 번들을 포함하는 동안이 문제를 가지고 있었다. 이 솔루션은 하나에 있었다 :

    A.로드 require.js 전에 스크립트 태그의 비 require.js 독립 번들로드, 또는

    B.는 (대신 스크립트 태그의) 그들을 require.js를 사용하여로드


  2. 2.require.js 시작하기에 나는이 문제에 달려 초보자으로 워드 프로세서뿐만 아니라 그리스어로 작성되어 있습니다.

    require.js 시작하기에 나는이 문제에 달려 초보자으로 워드 프로세서뿐만 아니라 그리스어로 작성되어 있습니다.

    내가 다 퉜다 문제는 당신이 "문자열 ID를"사용되어야 할 때 초보자 대부분의 예제는 "익명을 정의"를 사용하는 것이 었습니다.

    익명을 정의

    define(function() {
            return { helloWorld: function() { console.log('hello world!') } };
     })
        
      
    define(function() {
            return { helloWorld2: function() { console.log('hello world again!') } };
     })
    

    문자열 ID와 정의

    define('moduleOne',function() {
        return { helloWorld: function() { console.log('hello world!') } };
    })
    
     define('moduleTwo', function() {
          return { helloWorld2: function() { console.log('hello world again!') } };
    })
    

    당신은 문자열 ID와 정의 사용할 때과 같이 모듈을 사용하려고하면 당신은이 오류를 방지 할 수 있습니다 :

    require([ "moduleOne", "moduleTwo" ], function(moduleOne, moduleTwo) {
        moduleOne.helloWorld();
        moduleTwo.helloWorld2();
    });
    

  3. 3.내가 스크립트 태그에 직접 포함 다른 librairies과 함께 requirejs 파일을 포함하기 때문에이 오류가 있었다. 사용 (lodash 같은) 그 librairies는의 정의 요구와 충돌 한 기능을 정의한다. 나는이 다른 라이브러리 정의 이후의 정의 된 정의 때문에 충돌을 필요로한다는 생각 때문에 requirejs 파일을 비동기 적으로로드되었습니다.

    내가 스크립트 태그에 직접 포함 다른 librairies과 함께 requirejs 파일을 포함하기 때문에이 오류가 있었다. 사용 (lodash 같은) 그 librairies는의 정의 요구와 충돌 한 기능을 정의한다. 나는이 다른 라이브러리 정의 이후의 정의 된 정의 때문에 충돌을 필요로한다는 생각 때문에 requirejs 파일을 비동기 적으로로드되었습니다.

    오류를 제거하려면 requirejs을 사용하여 다른 모든 JS 파일을 포함한다.


  4. 4.워드 프로세서 당 :

    워드 프로세서 당 :


  5. 5.일부 브라우저 확장이 페이지에 코드를 추가 할 수 있음을 유의하십시오. 내 경우에는 내가 내 requireJs로 엉망 것을 플러그인 "모든 텍스트 영역에 개미"는 있었다. 브라우저에서 검사에 의해 확인 여분의 코드가 문서에 추가 beign되지 않도록합니다.

    일부 브라우저 확장이 페이지에 코드를 추가 할 수 있음을 유의하십시오. 내 경우에는 내가 내 requireJs로 엉망 것을 플러그인 "모든 텍스트 영역에 개미"는 있었다. 브라우저에서 검사에 의해 확인 여분의 코드가 문서에 추가 beign되지 않도록합니다.


  6. 6.기존의 답변이 아니라 문제를 설명하지만 사용하여 스크립트 파일을 포함하는 경우 또는 requireJS 전에 인해 약간 해키 해결 방법은 스크립트 태그 전에 윈도우 범위에서 필요한 다음 afterwords를 복원 제거하는 레거시 코드에 쉽게 옵션이 아닙니다. 우리의 프로젝트에서이 서버 측 함수 호출 뒤에 포장되어 있지만 효과적으로 브라우저는 다음이보고 :

    기존의 답변이 아니라 문제를 설명하지만 사용하여 스크립트 파일을 포함하는 경우 또는 requireJS 전에 인해 약간 해키 해결 방법은 스크립트 태그 전에 윈도우 범위에서 필요한 다음 afterwords를 복원 제거하는 레거시 코드에 쉽게 옵션이 아닙니다. 우리의 프로젝트에서이 서버 측 함수 호출 뒤에 포장되어 있지만 효과적으로 브라우저는 다음이보고 :

        <script>
            window.__define = window.define;
            window.__require = window.require;
            window.define = undefined;
            window.require = undefined;
        </script>
        <script src="your-script-file.js"></script>        
        <script>
            window.define = window.__define;
            window.require = window.__require;
            window.__define = undefined;
            window.__require = undefined;
        </script>
    

    아니 산뜻한하지만 작동하는 것 같다 리팩토링을 많이 저장하고있다.


  7. 7.또는 당신은이 방법을 사용할 수 있습니다.

    또는 당신은이 방법을 사용할 수 있습니다.