2016-10-28 4 views
0

이 라이브러리 "react-jsonschema-form"을 사용하여 react 및 jsonschema를 사용하여 양식을 만들려고합니다. cdn을 통해 .js 파일을 포함하여 웹 사이트의 예에서 설명한대로 프로젝트에서이 파일을 사용하려고합니다. 그것은 작동하지 않습니다. 내 보낸 구성 요소 "양식"이 정의되지 않았습니다.react-jsonschema-form 어떻게 cdn을 통해 그것을 사용 하는가?

나는이 비슷한 질문을 한 번 보았습니다. Using React component from js source maps 그러나 제안 된 솔루션을 이해할 수 없었습니다. JSONSchemaForm의 기본 내보내기를 별칭으로 지정해야합니다. 하지만 JSONSchemaForm이란 무엇입니까? 어디에서 찾을 수 있습니까? 포함될 다른 도서관입니까?

을 나는 CDN 라이브러리 가져온 Require.js 사용 :

var rf = require('react-forms') 

:

var require = { 
     baseUrl: "/js/", 
     waitSeconds: 600, 
     paths: {    
      'react-forms': ['https://unpkg.com/react-jsonschema-form/dist/react-jsonschema-form'] 
     },    
    } 

그런 다음 내 코드에서 내가 라이브러리를 가져올를 여기

내가 어떻게 뭘하려 하지만 이제 Form (rf.Form)에 액세스하면 정의되지 않습니다. "react-jsonschema-form.js"소스 코드를 살펴 보았습니다. "서식"은 정의되지 않습니다.

You'll also need to alias the default export property to use the Form component: 
    const Form = JSONSchemaForm.default; 

    // or 
    const {default: Form} = JSONSchemaForm; 

그러나 JSONSchemaForm도 정의되지 않은 : 라이브러리 페이지의 지침에서

은이 있다고한다.

그래서 내가 뭘 잘못하고 있는지 알지 못합니다. 스크립트 태그로 포함 시켜서 "react-jsonschema-form"라이브러리를 어떻게 사용할 수 있습니까?

커뮤니티에 감사드립니다.

답변

0

나는이 문제를 해결할 수 있었고 나는 여기에 비슷한 문제에 직면 해있는 모든 사람을위한 해결책을보고하고있다. 반응-jsonschema 형태를 CDN 스크립트 태그를 통해 (require.js으로) 사용하려면

  1. 가 require.js를 통해이 라이브러리를 포함하는 URL 경로 표시하여 :

    경로 : {
    을 'react- 형태는 'cdn.polyfill.io/v2/polyfill.min.js

  2. 하는 최신을 사용해야합니다 : ['https://unpkg.com/react-jsonschema-form/dist/react-jsonschema-form '] }

  3. 이 polyfill 라이브러리를 포함 버전 (버전 V15)을 코드에서

  4. 반응 라이브러리와 별칭이 같은 기본 수출이 필요합니다

var에 RF를 =이 필요합니다 ("-형태의 반응"); const Form = rf.default;

(이것은 require.js 모듈 시스템을 사용하고 있기 때문입니다. 다른 모듈 시스템에서는 JSONSchemaForm.default를 사용할 수 있습니다)

관련 문제