如何从 rails 插件加载 javascript 文件
How to load javascript file from rails plugin
我正在尝试创建一个插件,它应该公开一个 javascript 文件,但我无法在我的 rails 5 应用程序中加载它。
在我的 gem 中,我尝试将名为 my_gem.js
的 javascript 文件添加到
vendor/assets/javascripts
app/assets/javascripts
lib/<gem-name>/assets/javascripts
但其中 none 有效。我在 application.js
中加载文件时收到此错误消息
couldn't find file 'my_gem' with type 'application/javascript'
这就是我将 plugin/gem 加载到我的 rails 项目中的方式
gem "my-gem", path: "~/projects/my-gem"
你必须告诉Rails编译my_gem.js。您可以在初始化程序、application.rb 或环境文件中执行此操作。
Rails.application.config.assets.precompile += ["my_gem.js"]
我建议将源文件保存在 ~/projects/my-gem/app/assets/javascripts/my_gem.js
我们 created a gem which utilizes assets before.
您需要在 gem 目录树中创建一个 app/assets/javascripts/my_gem
文件夹,您将在其中放置 my_gem.js
文件。
最重要的是,you need to add this file to the asset path(我们使用引擎):
#lib/my_gem.rb
module MyGem
class Gem < Rails::Engine
config.assets.precompile += %w(my_gem/my_gem.js)
end
end
这将允许文件单独使用,或作为您的应用程序的一部分:
#app/assets/javascripts/application.js
//= require my_gem/my_gem
我正在尝试创建一个插件,它应该公开一个 javascript 文件,但我无法在我的 rails 5 应用程序中加载它。
在我的 gem 中,我尝试将名为 my_gem.js
的 javascript 文件添加到
vendor/assets/javascripts
app/assets/javascripts
lib/<gem-name>/assets/javascripts
但其中 none 有效。我在 application.js
couldn't find file 'my_gem' with type 'application/javascript'
这就是我将 plugin/gem 加载到我的 rails 项目中的方式
gem "my-gem", path: "~/projects/my-gem"
你必须告诉Rails编译my_gem.js。您可以在初始化程序、application.rb 或环境文件中执行此操作。
Rails.application.config.assets.precompile += ["my_gem.js"]
我建议将源文件保存在 ~/projects/my-gem/app/assets/javascripts/my_gem.js
我们 created a gem which utilizes assets before.
您需要在 gem 目录树中创建一个 app/assets/javascripts/my_gem
文件夹,您将在其中放置 my_gem.js
文件。
最重要的是,you need to add this file to the asset path(我们使用引擎):
#lib/my_gem.rb
module MyGem
class Gem < Rails::Engine
config.assets.precompile += %w(my_gem/my_gem.js)
end
end
这将允许文件单独使用,或作为您的应用程序的一部分:
#app/assets/javascripts/application.js
//= require my_gem/my_gem