Rails 7中的importmap-rails,这可能吗?
Posted
技术标签:
【中文标题】Rails 7中的importmap-rails,这可能吗?【英文标题】:importmap-rails in Rails 7, is this possible? 【发布时间】:2021-12-06 15:48:43 【问题描述】:我已经在 importmap-rails gem github 存储库 here 中打开了一个关于此问题的问题,但我想我会在这里提出问题,以防有人有解决方法
这是我目前发现的
使用 rails plugin new custom_page --mountable --full
生成的带有 Rails 7 alpha 2 或 Rails 7.0 的新引擎会生成一个新引擎,该引擎在捆绑的 gem 中包含 importmap-rails gem,但无法使用它。在enginename.gemspec 中添加spec.add_dependency 'importmap-rails'
没有区别,在engine.rb 中添加require importmap-rails
也没有区别。 bin 目录中没有 importmap 可执行文件。
致电bundle info importmap-rails
产生一个有希望的结果,表明 gem 是默认安装的
* importmap-rails (0.8.1)
Summary: Use ESM with importmap to manage modern javascript in Rails without transpiling or bundling.
Homepage: https://github.com/rails/importmap-rails
Source Code: https://github.com/rails/importmap-rails
Path: /home/jamie/.rvm/gems/ruby-3.0.0@custom_page/gems/importmap-rails-0.8.1
致电rails --tasks
显示
rails app:importmap:install # Setup Importmap for the app
但我相信这是来自 --full 选项生成的测试应用程序,而不是可用于引擎的 rails 命令。 我期待在没有 app: 前缀的情况下看到同样的结果 调用此任务将解析为模板错误,如图所示
rails app:importmap:install
不知道如何构建任务 'app:template'(请参阅可用列表
rails --tasks
的任务)你的意思是?应用程序:tmp:创建
如果有解决此问题的解决方案,我将不胜感激,我相信其他人也会。我想要这个的原因是我完全没有在 rails 6.1.4 引擎中引入 webpacker,我希望这将是我的,大大改进的解决方案
【问题讨论】:
【参考方案1】:我回退到在 html 中包含旧式 Javascript。
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.js"></script>
它肯定适用于所有浏览器,而不是确定浏览器是否支持我以后可能会使用的功能。
我也可以完全控制放置哪个页面...但这可能不是您想要的...
【讨论】:
以上是关于Rails 7中的importmap-rails,这可能吗?的主要内容,如果未能解决你的问题,请参考以下文章
在生产环境中使用 Rails 7 中的 importmaps 时出现 404 错误
未读取 database.yml 中的 ENV 变量(Rails 4.2.0、RubyMine 7、Postgres、Ruby 2.2.0、DotEnv)