diff --git a/lib/webpacker/helper.rb b/lib/webpacker/helper.rb index e63eeab17..4a410c794 100644 --- a/lib/webpacker/helper.rb +++ b/lib/webpacker/helper.rb @@ -96,6 +96,9 @@ def favicon_pack_tag(name, **options) # <%= javascript_pack_tag 'calendar' %> # <%= javascript_pack_tag 'map' %> def javascript_pack_tag(*names, defer: true, **options) + raise "To prevent duplicated chunks on the page, you should call javascript_pack_tag only once on the page." if @javascript_pack_tag_loaded + @javascript_pack_tag_loaded = true + javascript_include_tag(*sources_from_manifest_entrypoints(names, type: :javascript), **options.tap { |o| o[:defer] = defer }) end @@ -141,6 +144,9 @@ def preload_pack_asset(name, **options) # <%= stylesheet_pack_tag 'calendar' %> # <%= stylesheet_pack_tag 'map' %> def stylesheet_pack_tag(*names, **options) + raise "To prevent duplicated chunks on the page, you should call stylesheet_pack_tag only once on the page." if @stylesheet_pack_tag_loaded + @stylesheet_pack_tag_loaded = true + return "" if Webpacker.inlining_css? stylesheet_link_tag(*sources_from_manifest_entrypoints(names, type: :stylesheet), **options)