Rails 5.1 webpacker "import" .js.erb 文件?
Rails 5.1 webpacker "import" a .js.erb file?
从 app/javascript/packs/application.js
我正在尝试 import "../foo"
文件所在的位置 foo.js.erb
。 Webpacker 和 yarn 对于 application.js 中的其他导入非常有用,例如 import "../bar"
当该文件是 bar.js
但如果我尝试使用 .js.erb
文件,我会从 webpack 得到这个错误-开发服务器:
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 loader 正在评估中并且看起来很适合我,尽管除了 运行 rails webpacker:install
生成该配置。
如果你想做的是:
import '../foo'
当实际文件为 foo.js.erb
时,您需要更新 config/webpack/webpacker.yml
以包含
- .js.erb
在扩展列表中。否则您需要完整指定要导入的文件名
import '../foo.js.erb'
To add Erb support in your JS templates, run bundle exec rails webpacker:install:erb
on a Rails app already setup with Webpacker.
source(来自 cseelus 的评论)
For rails 6.x, 运行 bundle exec rails webpacker:install:erb
并在 config/webpacker.yml
中添加以下内容
extensions:
- .erb
有关详细信息,请参阅 webpacker documentation:
从 app/javascript/packs/application.js
我正在尝试 import "../foo"
文件所在的位置 foo.js.erb
。 Webpacker 和 yarn 对于 application.js 中的其他导入非常有用,例如 import "../bar"
当该文件是 bar.js
但如果我尝试使用 .js.erb
文件,我会从 webpack 得到这个错误-开发服务器:
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 loader 正在评估中并且看起来很适合我,尽管除了 运行 rails webpacker:install
生成该配置。
如果你想做的是:
import '../foo'
当实际文件为 foo.js.erb
时,您需要更新 config/webpack/webpacker.yml
以包含
- .js.erb
在扩展列表中。否则您需要完整指定要导入的文件名
import '../foo.js.erb'
To add Erb support in your JS templates, run
bundle exec rails webpacker:install:erb
on a Rails app already setup with Webpacker.
source(来自 cseelus 的评论)
For rails 6.x, 运行 bundle exec rails webpacker:install:erb
并在 config/webpacker.yml
extensions:
- .erb
有关详细信息,请参阅 webpacker documentation: