【问题标题】:Heroku Rails 7 deployment not finding Javascript files (404)Heroku Rails 7 部署未找到 Javascript 文件 (404)
【发布时间】:2022-11-06 13:04:02
【问题描述】:

我有一个rails应用程序,它的javascript在本地正常工作,但是当我推送到Heroku时,我的application.js文件中的每个相对导入都会得到404:

// Simply importing activates Turbo Drive
import "@hotwired/turbo-rails";
import { Application } from "@hotwired/stimulus";

// Here we use relative imports so these aren't in import map
import HelloController from "./application/hello_controller";
import "./application/logstuff";
import "./application/main";

// Start Stimulus and register controllers
window.Stimulus = Application.start();
window.Stimulus.debug = false; // set true to enable stimulus debugging
Stimulus.register("hello", HelloController);

我在 app/javascript 中有我的 javascript,但错误消息显示为 app/assets/ 中缺少 javascript:

GET <url>/assets/application/hello_controller net::ERR_ABORTED 404

我是否在某处缺少配置来切换在哪里查找 javascript?

谢谢 :)

【问题讨论】:

  • 在 Heroku 部署期间,您是否看到 Heroku 预编译的资产?您可以尝试在本地预编译:RAILS_ENV=production rails assets:precompile 然后推送到 Heroku,但是您将不得不找出为什么资产没有在 Heroku 预编译
  • 您好,感谢您的回复 - 它似乎在部署期间编译正确。

标签: javascript ruby-on-rails heroku ruby-on-rails-7


【解决方案1】:

我有一个类似的问题,并通过将我的 app/javascript/controllers/index.js 文件的内容更改为以下内容来解决它:

import { application } from "controllers/application"
import { eagerLoadControllersFrom } from "@hotwired/stimulus-loading"
eagerLoadControllersFrom("controllers", application)

更多信息在这里-> https://github.com/hotwired/stimulus-rails/issues/87

【讨论】:

    猜你喜欢
    • 2022-10-07
    • 1970-01-01
    • 2018-02-04
    • 1970-01-01
    • 1970-01-01
    • 2018-04-16
    • 2017-01-20
    • 2020-12-30
    • 2015-02-27
    相关资源
    最近更新 更多