Я пытаюсь настроить React с npm и, таким образом, использовать его без драгоценного камня с рельсами. Я установил Browserify и реагировал и реагировал. Кажется, я работал, я смог запустить простой пример «привет мир».Rails, Browserify и React with coffeescript
Теперь некоторые из более сложных вещей. У меня уже есть много компонентов, которые я загрузил с помощью рельсов, и мне нужно их преобразовать.
Я создал и сценарий инициализации (init.js.coffee)
React = require('react')
ReactDOM = require('react-dom')
PhotoRoot = require('photo_root')
и компонент (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!
Оценка!