2017-11-19 3 views
6

Ich habe gerade meine Rails-App umgestellt, um WebPack zu verwenden, um mit Assets usw. umzugehen. Es funktioniert gut, abgesehen davon, dass ich einige JS-Vorlagen in meinem Sichtenverzeichnis (* .js .erb). Diese erfordern jQuery und da jQuery als Teil meiner WebPack-Bundles eingezogen wird, funktioniert es in diesen Templates nicht.Rails .js.erb-Vorlagen funktionieren nicht mehr mit Webpack

Gibt es eine Möglichkeit, diese Vorlagen zu ermöglichen?

Antwort

1

Nun, um die Dinge funktionieren zu lassen, müssen Sie jquery mit Garn verwenden, das mit der neuesten Version von Schienen funktioniert.

In Rails 5.1 dies mit der neuen JavaScript-Paket-Manager Garn gemacht wird, die Sie

sudo apt-get install yarn 

Dann können Sie es jQuery installieren verwenden zuerst installieren:

yarn add jquery 

Um jquery tatsächlich Last Sie müssen diese Zeile hinzufügen

//= require rails-ujs 
//= require jquery 
//= require turbolinks 
//= require_tree . 

Nach der Installation von jquery Ihre js.erb f ile wird anfangen zu arbeiten diese Siehe article

+0

Sorry, ich habe zu erwähnen, Ich verwende nicht die Asset-Pipeline in dieser App. Ich habe es eilig in meinem node_modules-Verzeichnis installiert, brauche aber eine Möglichkeit, dass jquery außerhalb meiner Webpack-Pakete verfügbar ist. – rctneil

+0

Ich habe dich nicht verstanden. Kannst du bitte etwas ausarbeiten? –

0

Ich habe dies durch Hinzufügen des expose-loader Pakets in meiner app zu arbeiten, dann das Hinzufügen dieser zwei Zeilen zu meinem app/javascript/packs/application.js:

import 'expose-loader?$!jquery'; import 'expose-loader?jQuery!jquery';

Verwandte Themen