ruby-on-rails 我是否需要在Rails 7应用中保留app/assets/config/manifest.js?

bakd9h0s  于 2023-04-13  发布在  Ruby
关注(0)|答案(1)|浏览(177)

我有一个旧的Rails 5应用程序(通过webpacker引导),今天我花了一整天的时间将其迁移到Rails 7。我很高兴我终于可以摆脱webpacker了,但我对那里的这么多选择感到困惑,我终于在下面的帖子中得到了它。
https://eagerworks.com/blog/import-maps-in-rails-7
但是,我在我的文件夹中发现了以下文件。
app/assets/config/manifest.js
它包含以下代码

//= link_directory ../javascripts .js
//= link_directory ../stylesheets .css
//= link_tree ../../../vendor/javascript .js

我相信它是通过我以前的试验产生的(我猜是捆绑)。我可以安全地删除这个吗?

rbpvctlc

rbpvctlc1#

不行删不掉
对于importmaps,它应该看起来像这样:

//= link_tree ../images
//= link_directory ../stylesheets .css
//= link_tree ../../javascript .js
//= link_tree ../../../vendor/javascript .js

假设你的javascript在app/javascript目录下。如果它在app/assets/javascripts目录下,那么你应该有:

//= link_directory ../javascripts .js

仔细检查并确保你得到的是经过消化的URL:

$ bin/importmap json
{
  "imports": {
    "application": "/assets/application-37f365cbecf1fa2810a8303f4b6571676fa1f9c56c248528bc14ddb857531b95.js",
    "@hotwired/turbo-rails": "/assets/turbo.min-f309baafa3ae5ad6ccee3e7362118b87678d792db8e8ab466c4fa284dd3a4700.js",
    "@hotwired/stimulus": "/assets/stimulus.min-d03cf1dff41d6c5698ec2c5d6a501615a7a33754dbeef8d1edd31c928d17c652.js",
    "@hotwired/stimulus-loading": "/assets/stimulus-loading-1fc59770fb1654500044afd3f5f6d7d00800e5be36746d55b94a2963a7a228aa.js",
    "controllers/application": "/assets/controllers/application-368d98631bccbf2349e0d4f8269afb3fe9625118341966de054759d96ea86c7e.js",
    "controllers/hello_controller": "/assets/controllers/hello_controller-549135e8e7c683a538c3d6d517339ba470fcfb79d62f738a0a089ba41851a554.js",
    "controllers": "/assets/controllers/index-2db729dddcc5b979110e98de4b6720f83f91a123172e87281d5a58410fc43806.js"
  }
}

sprockets使用该文件在生产环境中预编译文件,如果删除它,它将中断。

相关问题