2017-03-13 4 views
1

Pux 설명서에서 브라우저에 require()을 사용하라고 알려줍니다. 그 기능은 어디에서 왔으며 어떻게 사용합니까?Pux와 리액터 구성 요소 통합하기 - require()는 어디에서 왔습니까?

배경 :

내가 purescript-PUX를 사용하여 내 웹 응용 프로그램과 퀼 편집기를 통합하기 위해 노력하고있어. 는 Pux documentation 다음 나는 파일 MyEditor.js이 같은 생성 :

// module MyEditor 
var React = require("react"); 
var Pux = require("purescript-pux"); 
var MyEditor = React.createClass({ 
    displayName: "MyEditor", 
    onTextChange: function onTextChange(value) { 
     this.setState({ text: value }); 
    }, 
    render: function render() { 
     return React.createElement(ReactQuill, { value: this.state.text, 
               onChange: this.onTextChange }); 
    } 
}); 
exports.fromReact = Pux.fromReact(MyEditor); 

하고 파일을 MyEditor.purs을 다음과 같이

module MyEditor where 
import Pux.Html (Html, Attribute) 
foreign import fromReact :: forall a. Array (Attribute a) -> Array (Html a) -> Html a 

그때 내 Html Action과에 MyEditor.fromReact [value p.description]를 사용 코드가 컴파일되지만 브라우저가 ReferenceError: require is not defined에 대해 불평합니다.

저는 자바 스크립트 생태계에 익숙하지 않습니다. require() 함수를 제공하는 여러 라이브러리가 있지만 Pux와 함께 사용하는 라이브러리는 무엇인지 알고 있습니까? 브라우저가 이해할 수있는 번들을 생산하는 browserify 또는 웹팩 같은 들러을 통해 프로젝트를 실행해야합니다, 그래서

답변

2

require 모듈 가져 오기의 NodeJS 방법, 그것은 브라우저에서 지원되지 않는. 당신이 pulp 빌드 도구를 사용하는 경우

그것은

pulp browserify --to app.js

를 실행 한 후 스크립트 태그를 통해 HTML로 app.js로드만큼 간단합니다.

펄프 브라우저 설명서 : https://github.com/bodil/pulp#commonjs-aware-builds

+0

감사합니다. 나는'snaplet-purescript'을 사용하고 있었고, 지금까지는 펄프와 관련된 것들을 돌 보았습니다. 이제'반응 돔 '을 설치하기 위해'bower'를 얻으려고하고 있는데, GitHub 자격 증명을 요구하고 있습니다. 오 잘. .. 최소한 나는 진보하고있는 것처럼 보인다. – StantonT

+0

snaplet-purescript를 보았는데 번들링을위한 구성이있는 것 같지만 PS 파일 맨 위에 npm 패키지 묶음을 처리 할 수 ​​있는지 확실하지 않습니다. 아마도 repo에서 문제를 여는 것이 가장 좋습니다. 행운을 빕니다! –