Rails安装TypeScript后无法加载文件问题排查
问题解决方法
核心问题是你用错了JavaScript文件引入标签:
javascript_include_tag是用于Sprockets资产管道的,它会去app/assets/javascripts目录下查找资源,而Webpacker编译后的文件并不在这个路径里。- Webpacker编译TypeScript后,产物会生成在
public/packs目录下,这类文件需要用javascript_pack_tag来引入。
具体修正步骤
- 打开
application.html.erb,把第三行的:
替换成:javascript_include_tag "application"javascript_pack_tag "application" - 不需要修改
app/javascript/packs/application.ts的文件名,Webpacker会自动将TypeScript文件编译为对应的application.jspack文件。 - 重新执行
rails webpacker:compile,确认public/packs/application.js文件存在。
额外检查点
- 查看
config/webpacker.yml配置,确保public_output_path的值为packs(默认配置就是这个),保证编译产物输出到正确路径。 - 如果你的Rails版本较新,Webpacker可能已经被替换为jsbundling-rails,但操作逻辑类似:确认编译命令正确,且使用对应标签引入打包后的文件。
内容的提问来源于stack exchange,提问作者A. Vreeswijk
相关产品推荐
相关产品推荐

