teact icon indicating copy to clipboard operation
teact copied to clipboard

Not working inside a browser

Open ycrepeau opened this issue 8 years ago • 3 comments

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.

ycrepeau avatar Mar 19 '17 21:03 ycrepeau

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.

hurrymaplelad avatar Mar 23 '17 16:03 hurrymaplelad

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:

  1. 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
  1. Add teact to the manifest in application.js (or wherever) the usual way:
//= require teact
  1. 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/

mattlima avatar Apr 13 '17 02:04 mattlima

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

jahbini avatar Sep 27 '17 04:09 jahbini