2016-04-13 6 views
2

Ich versuche, die Ace editor in meiner Ruby on Rails App zu verwenden, mit Mehrheit der Ansicht als React-Komponenten komponiert. Ich benutze die react-rails gem und ich verwende überhaupt kein Flussmittel.Wie npm-Pakete in Schienen zu verwenden

Ich fand dieses react-ace Paket, aber ich muss npm verwenden, um es zu installieren. Ich war in der Lage, Bower Komponenten mit Bower-Rails-Juwel arbeiten, aber nie npm Pakete zu arbeiten. Gibt es eine Möglichkeit, dies nur über die Asset-Pipeline (über den Anbieter) zu nutzen?

Übrigens benutze ich nicht browsery oder ES6, also habe ich nicht einmal import. Ich habe bisher alles durch die Asset-Pipeline gemacht.

Danke!

+0

können Sie sich das browserify-rails-Juwel anschauen – VonD

Antwort

2

Die kurze Antwort ist, dass der ACE-Editor für den Betrieb in Node.js not Rails gebaut wurde, also gibt es keine einfache Möglichkeit, dies zu tun. Denken Sie daran, dass die meisten Pakete npm als serverseitiges JavaScript mit der Node.js-Umgebung verwendet werden sollen und nicht direkt in Ruby ausgeführt werden können. Ich glaube, dass der Ace-Editor ein Node.js-Backend benötigt und ich bezweifle, dass es trivial wäre, es in einem Rails-Backend laufen zu lassen.

Natürlich kann jedes Javascript, das im Browser ausgeführt wird, in die Rails-Asset-Pipeline integriert werden. Zu diesem Zweck empfehle ich Bower, das am häufigsten verwendete Paket-Management-System (http://bower.io). Sie können direkt in Ihrer Rails-Anwendung installieren, obwohl ich Bower Rails für eine bessere Integration mit Rails-Konventionen und der Asset-Pipeline https://github.com/rharriso/bower-rails empfehlen sollte.

Wenn Sie versuchen möchten, Plattform-agnostisches JavaScript auf den Browser zu portieren, können Sie browserify ausprobieren, das einfach Javascript-Dateien mit dem CommonJS require-Format verknüpft, das Node.js verwendet. Es wird auf magische Weise nicht dazu führen, dass Server-seitige JavaScript-Frameworks wie Express oder der ACE-Editor nur im Browser funktionieren.

Verwandte Themen