2017-03-13 5 views
1

Puxのドキュメントでは、ブラウザにrequire()を使用するよう指示されています。その機能はどこから来て、どうすれば使えますか?RexとPuxの統合 - require()はどこから来たのですか?

背景:

私はpurescript-PUXを使用しています私のWebアプリケーションとクイルエディタを統合しようとしています。 私は、ファイルにこのようなMyEditor.js作成Pux documentation後、次のように

// 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について不平を言います。

私は、JavaScriptのエコシステムに詳しくはありません。私はrequire()関数を提供するいくつかのライブラリが存在することを知っていますが、どれをPuxで使うのですか?

答えて

2

requireはモジュールをインポートするNodeJSの道であるあなたは、ブラウザが理解できるバンドルを生成するためにbrowserifyまたはWebPACKのようなバンドラを通して、あなたのプロジェクトを実行する必要がありますので、それがブラウザでサポートされていません。

あなたはそれが

pulp browserify --to app.js

を実行して、スクリプトタグを通して、あなたのhtmlでapp.jsをロードするのと同じくらい簡単ですpulpビルドツールを使用している場合。

パルプをブラウズするドキュメント:https://github.com/bodil/pulp#commonjs-aware-builds

+0

ありがとう。私は 'snaplet-purescript'を使っていましたが、これまでは' pulp'関連のものを私の世話をしていました。今私は 'bres 'に' react-dom'をインストールしようとしています.GitHubの資格情報を要求しています。ああ...少なくとも、私は進歩しているようだ。 – StantonT

+0

私はsnaplet-purescriptを見ましたが、バンドルの設定があるようですが、PSファイルの上にnpmパッケージをバンドルすることができるかどうかはわかりません。おそらくレポの問題を開くのが最善でしょう。がんばろう! –

関連する問題