2017-05-12 40 views
2

app/javascript/packs/application.js我正在嘗試import "../foo",其中的文件是foo.js.erb。 Webpacker和紗例如import "../bar"工作非常適合在application.js中其他進口,當該文件是bar.js但如果我嘗試用.js.erb文件我得到的WebPack-DEV-服務器此錯誤:Rails 5.1 webpacker「導入」.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 

我做安裝了rails-erb-loader,如果我查看webpacker配置,erb加載器正在評估中,並且對我來說看起來是正確的,儘管除非運行rails webpacker:install來生成該配置,否則我沒有碰到任何其他的配置。

回答

7

如果你想要做的是這樣的:

import '../foo' 

當實際文件foo.js.erb,您需要更新config/webpack/paths.yml包括

- .js.erb 

在擴展名列表。否則,你需要充分指定要導入

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

文件名似乎不再是'配置/的WebPack/paths.yml'但'配置/的WebPack/webpacker.yml'必須更新。令人困惑的是,擴展名列表已經包含' - .erb',但是要添加的擴展名是' - .js.erb'。 – KaptajnKold