2

독립 실행 형 라이브러리로 작동하는 축소 된 파일에서 RequireJS를 통해 React + ReactDOM을 사용하려고합니다.축소 된 파일에서 RequireJS와 함께 React-dom 사용

내가 React (축소 된 파일에 번들로 제공)를 사용할 수있는 시점에 도착했지만 ReactDOM을 사용하려고 할 때 내가 발견 한 확실한 원인은 "require-dom "require는 축소 된 파일에서 코드를로드하는 대신"react-dom "파일을 가져 오려고합니다. (실제로 반응 -dom을 포함).

사실 나는 모든 요구 사항 파일을 프리 컴파일하기 위해 엉터리를 사용하고 있습니다. 다음과 같이 나는 HTML 파일에 포함

define(['jquery', 'react', 'react-dom'], function($, React, ReactDOM) { 
    return { 
    react: React, 
    reactDOM: ReactDOM, 
    } 
}); 

위의 구성으로 모든 코드를 컴파일 후 : 다음과 같이

requirejs: { 
    build: { 
    options: { 
     baseUrl: './build/', 
     paths: { 
     'jquery': '../bower_components/jquery/dist/jquery.min', 
     'react': '../bower_components/react/react.min', 
     'react-dom': '../bower_components/react/react-dom.min' 
     }, 
     include: ['main'], 
     out: 'dist/library.min.js', 
     optimize: 'uglify2' 
    } 
    } 
} 

Main.js는 : 여기 내 꿀꿀 requirejs 구성입니다

다음과 같이
<html> 
    <head> 
    <script src="../bower_components/requirejs/require.js"></script> 
    <script src="index.js"></script> 
    </head> 
    <body></body> 
</html> 

하는 index.js는 requirejs 파일입니다

requirejs.config({ 
    baseUrl: 'src', 
    paths: { 
    mylib: 'lib/dist/library.min.js' 
    } 
}); 

require(['mylib'], function(mylib) { 
    console.log(mylib); 
}); 
,691,363 (210)

위의 코드를 실행할 때 내가 수신하고이 오류는 다음과 같다 :

require.js:1958 GET file:///D:/code/example/user/src/src/react-dom.js net::ERR_FILE_NOT_FOUND 
req.load @ require.js:1958 
load @ require.js:1682load @ require.js:832 
fetch @ require.js:822check @ require.js:854 
enable @ require.js:1173 
enable @ require.js:1554 
(anonymous function) @ require.js:1158 
(anonymous function) @ require.js:134 
each @ require.js:59enable @ require.js:1110 
init @ require.js:786(anonymous function) @ require.js:1457 

require.js:168 Uncaught Error: Script error for "react-dom"(…) 

내가 부드럽게 반응-DOM의 모든 부하를 제거합니다.

나는 지금까지 여러 가지 시도를 해왔다. 즉, 심미적 인 반응으로 반작용한다. 반응하는 돔은 글로벌 반동 var를 감지하지만, 그 어느 것도 효과가 없다.

도움을 주시면 감사하겠습니다. 미리 감사드립니다.

업데이트 :Github repo with example code

업데이트 2 : 반응-DOM을 lib 디렉토리에 디버깅 동안 내가 메인 메소드가 호출 전에 실행됩니다 것을 발견 축소 된 스크립트 후 " '(정의 react-dom ') "을 제공하므로 문제는"react-dom "이 정의 된 코드가 실행될 때까지 주 스크립트를 대기 상태로 만드는 방법으로 문제가 풀립니다.

+0

GitHub를 통해 최소한의 예를 공유 한 것으로 생각하세요? – prosti

+0

조언을 주셔서 감사합니다. 최소한의 예를 들어 최대한 빨리 준비하겠습니다. –

+0

예 Github 저장소가 추가되었습니다. –

답변

0

React 15.4.1 (방금 어제 발표 됨)의 새 버전처럼 보입니다.이 문제는 해결되었습니다. bower.json에서 버전을 업데이트 한 후 다시 시도하십시오!