You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Rails 7 ESBuild项目中加载自定义JS文件?

解决Rails 7 esbuild项目自定义JS导入无输出的问题

检查布局文件的JS引用

  • 确认app/views/layouts/application.html.erb中已正确引入编译后的JS文件,必须包含这一行:
    <%= javascript_include_tag "application", "data-turbo-track": "reload" %>
    
    esbuild会把application.js编译到app/assets/builds/目录,布局必须引用这个编译后的文件才能让自定义JS生效。

确保esbuild实时编译进程在运行

  • 启动开发环境时,必须使用./bin/dev命令,而不是单独的rails s。bin/dev会同时启动Rails服务器和esbuild的监听进程,实时编译你的JS文件。如果只启动rails s,esbuild不会自动编译新增的new.js,导致修改无法生效。

验证导入语法与路径

  • 你写的import "./new.js"路径是正确的(文件同目录),也可以尝试省略后缀写成import "./new",esbuild支持这种写法,避免可能的后缀识别问题。

清除缓存并重启服务

  • 用Ctrl+Shift+R强制刷新浏览器,清除缓存,避免加载旧的编译文件。
  • 停止bin/dev进程,删除app/assets/builds/目录下的所有文件,再重新启动bin/dev,让esbuild重新编译所有JS资源。

检查编译结果

  • 打开app/assets/builds/application.js,搜索console.log('Hi'):
    • 如果能找到,说明编译成功,问题可能出在浏览器缓存或布局引用;
    • 如果找不到,查看bin/dev的输出日志,排查esbuild的编译错误。

内容的提问来源于stack exchange,提问作者PrimeTimeTran

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 13:01:25