进口Gem&x27;s带有Rails网页包Rails erb加载程序的javascript文件夹
我正在尝试使用Rails 6 webpacker从gem文件夹导入javascript。我只看到每次导入一个文件就可以做到这一点。是否可以为gem获取所有扩展名为*.js的文件 javascript/packs/application.js.erb进口Gem&x27;s带有Rails网页包Rails erb加载程序的javascript文件夹,javascript,ruby-on-rails,ruby,webpack,Javascript,Ruby On Rails,Ruby,Webpack,我正在尝试使用Rails 6 webpacker从gem文件夹导入javascript。我只看到每次导入一个文件就可以做到这一点。是否可以为gem获取所有扩展名为*.js的文件 javascript/packs/application.js.erb import "<%= File.read(File.join(Gem.loaded_specs['active_storage_drag_and_drop'].full_gem_path, 'lib', 'assets', 'javascri
import "<%= File.read(File.join(Gem.loaded_specs['active_storage_drag_and_drop'].full_gem_path, 'lib', 'assets', 'javascripts', 'active_storage_drag_and_drop/*.js')) %>";
此软件包在NPM上提供: 我会这样做:
yarn add active_storage_drag_and_drop
然后在您的网页包js文件中:
import*作为ActiveStorageDragAndDrop从“活动存储”拖放
window.ActiveStorageDragAndDrop=ActiveStorageDragAndDrop//从1.0.3版起需要
我已经在一个分支中创建了一个工作演示
因为从v1.0.3开始,会出现在项目JS中分配导入的var
在软件包更新之前,这是必需的
对于基于Ruby的依赖项,您可能仍然需要gem文件中的gem
通常,我不建议尝试通过ERB中的gem路径查找rubygems提供的javascript依赖项。迁移到Webpack/Webpack的优点之一是,您应该尽可能利用NPM处理依赖项 它不会加载活动存储和拖放的所有依赖项。我在Rails 6上测试了它。您可以尝试使用测试项目,以查看在加载组件时视图中是否出现任何错误。它没有显示动画,只有表面是可点击的,你可以添加文件而不知道它们是否已被附加。它似乎包含了gem提供的确切JS:看起来JS引用了一个全局变量。我将用一个解决方案来更新答案,但是我会认为这是ActudiestRealDracyand AtDROP项目中的一个bug。我不能更新投票。其他人必须这样做。谢谢,你能把这个问题标记为正确的,让其他人看到吗?
yarn add active_storage_drag_and_drop