💡
原文中文,约1700字,阅读约需4分钟。
📝
内容提要
本文介绍了如何通过添加 rake task 实现将下载 importmap 资源延迟到构建阶段的方法,避免将庞大的外部 JavaScript 文件提交到源码库。
🎯
关键要点
- Importmap-rails 默认加载来源是 CDN,但在国内访问不稳定。
- 将 JavaScript 下载到 vender/javascript 目录需要将外部 JavaScript 提交到源码管理,导致源码体积增大。
- 可以通过添加 rake task 将下载 JavaScript 延后到构建时执行。
- 在 .gitignore 中加入 /vendor/javascript 以忽略 importmap 下载的内容。
- 使用 importmap pin {package} --download 命令下载 JavaScript 源码并更新 config/importmap.rb。
- 新建 lib/tasks/importmap.rake 文件,添加下载任务以在构建时下载 JavaScript。
- 执行 bin/rails assets:precompile 时会先执行 bin/rails importmap:download 任务。
- 在 Dockerfile 中包含 bin/rails assets:precompile 步骤以确保构建。
- 在其他脚本中添加 bin/rails importmap:download 以方便搭建开发环境。
- 该方法不适用于混合使用 importmap 来源和复杂 JavaScript 依赖的情况。
➡️