Not working inside a browser
I try to use teact in a Ruby on Rails application.
'require' is only supported by node, not by the Javascript engine running inside browsers.
I am trying to solve this issue with Browserify but Browserify seems to be unable to see the teact.coffee (renamed teact.js.coffee) file.
Right! You'll need some sort of compilation pipeline that understands both commonjs requires and coffee script. I'm not super familiar with rails, but this might get you started: https://github.com/goodeggs/teacup-rails
Links to projects or config files would help for more troubleshooting.
I had the same issue and was in a rush, didn't want to establish a separate gulp/browserify/webpack/whatever pipeline. You can use teact in a few minutes with Rails with the following dirty hack:
- add teact.coffee to your assets/javascripts folder. Append the following to the end of the file to make sure Teact is 'exported' as a global:
window.Teact = Teact
- Add teact to the manifest in application.js (or wherever) the usual way:
//= require teact
- Grab whichever of Teact's bound functions you need in your local .coffee file, for example
{crel, pureComponent} = new Teact().tags()
Again, I cannot emphasize enough that this is a nasty hack, but if you're on a deadline it may help.
--EDIT--
Almost immediately after posting this I found I needed another npm lib in my rails project so I decided I needed a less hacky solution. This one worked for me: https://blog.ravenxce.com/using-npm-with-rails/
Brunch has several skeletons that assemble coffeescript and js along with npm modules for the browser -- http://brunch.io/skeletons
oh, yes, it manages CSS stuff too