2017-05-12 1 views
2

De app/javascript/packs/application.js J'essaie de import "../foo" où le fichier est foo.js.erb. WebPacker et fils travaillent beaucoup pour d'autres importations application.js, par exemple import "../bar" lorsque ce fichier est bar.js mais si je tente avec un fichier .js.erb je reçois cette erreur de webpack-dev-serveur:Rails 5.1 webpacker "importer" un fichier .js.erb?

ERROR in ./app/javascript/packs/application.js 
Module not found: Error: Can't resolve '../foo' in '/Users/blah/backlot/projects/test/app/javascript/packs' 
@ ./app/javascript/packs/application.js 3:0-27 
@ multi (webpack)-dev-server/client?http://localhost:8080 ./app/javascript/packs/application.js 

je avoir rails-erb-loader installé et si je regarde la config webpacker, le chargeur erb est en cours d'évaluation et me semble bien que je n'ai pas touché à tout cela sauf pour exécuter rails webpacker:install pour générer cette configuration.

Répondre

7

Si ce que vous voulez faire est la suivante:

import '../foo' 

Lorsque le fichier réel est foo.js.erb, vous devez mettre à jour config/webpack/paths.yml pour inclure

- .js.erb 

Dans la liste des extensions. Sinon, vous devez spécifier le nom complet du fichier que vous importez

import '../foo.js.erb' 
+1

Il est qu'il ne semble plus 'config/webpack/paths.yml' mais' config/webpack/webpacker.yml' qui doit être mis à jour. Confusément, la liste des extensions contient déjà '- .erb', mais l'extension à ajouter est' - .js.erb'. – KaptajnKold