2017-02-05 3 views
0

Reactをnpmで設定しようとしています。そのため、rails-react宝石なしで使用します。 私はBrowserifyをインストールし、反応して反応します。それはうまくいくようですが、私は単純な「こんにちは世界」の例を実行することができました。Rails、Browserify and coffeescriptで反応する

ここではもっと複雑なものについてです。私は既にレールを搭載した部品をたくさん持っているので、これらを変換する必要があります。

私が作成したとinitスクリプト(init.js.coffee)

React = require('react') 
ReactDOM = require('react-dom') 
PhotoRoot = require('photo_root') 

およびこれらの2つのファイルが同じフォルダ内にあるコンポーネント(photo_root.js.coffee)

module.exports = React.createClass 
    getInitialState: -> 
    null 
    getDefaultProps: -> 
    null 

    showCard: (photoId) -> 
    this.refs.card.setPhotoId photoId 

    render: -> 
    React.DOM.div {className: 'photo-root'}, 
     React.createElement PhotoGrid, showCard: @showCard 
     React.createElement PhotoActionCard, photoId: 615, ref: "card" 

私はこれを実行すると、私はBrowserifyRailsからエラーを取得する:: BrowserifyErrorを:

Error while running `/Users/mh/rails_projects/phototank/node_modules/.bin/browserifyinc -t coffeeify --extension=".js.coffee" --list --cachefile=/Users/mh/rails_projects/phototank/tmp/cache/browserify-rails/browserifyinc-cache.json -o "/Users/mh/rails_projects/phototank/tmp/cache/browserify-rails/output20170205-9947-edkf1y" -`: 

events.js:154 
     throw er; // Unhandled 'error' event 
    ^

Error: Cannot find module 'photo_root' from '/Users/mh/rails_projects/phototank/app/assets/javascripts/components' 
    at /Users/mh/rails_projects/phototank/node_modules/browser-resolve/node_modules/resolve/lib/async.js:46:17 

それは右の場所で「photo_root」を探していますが、それを見つけていません。拡張機能とは何か関係がありますか?私はcoffeescriptを使用しています!

感謝!簡単だった

答えて

0

OK:

PhotoRoot = require('photo_root') 

があるべき

PhotoRoot = require('./photo_root') 
関連する問題