【问题标题】:Rails 6 does not see JSRails 6 看不到 JS
【发布时间】:2020-12-15 10:58:10
【问题描述】:

我创建了新应用程序。通过yarn add 安装了bootstrap、jquery、popper。 在app/assets/stylesheets/application.scss 中导入引导程序.scss(并且样式工作正常)。

发现js有问题。 Rails 好像根本看不到 js。

我已经做了什么:尝试import bootstrap并将简单的jquery代码添加到app/assets/javascript/packs/application.jsapp/assets/javascript/application.js。试图创建custom.js 并在application.js 中都需要它 在布局中更改了javascript_tag。 我尝试了教程中的所有建议。

一切都没有成功。我有一种预感,某个地方的 js 已经不小心编译了,而我在 application.js 中的任何编辑对 app 都没用。有可能吗?

我通过工头 Proc 文件以开发模式启动应用程序。

web: bundle exec puma -C config/puma.rb
webpacker: ./bin/webpack-dev-server

我错过了什么?

谢谢

【问题讨论】:

  • 您能告诉我们实际的application.js 和您要导入的文件吗?如果没有minimal reproducable example,就不可能提供任何有意义的调试帮助。

标签: javascript jquery ruby-on-rails webpack


【解决方案1】:

Rails 6 默认使用 webpacker 来打包 JS 代码。所以 JS 不再是通过资产管道捆绑(它曾经位于 app/assets/javascript 中。新文件夹直接位于 app 下,因此:app/javascript。此外,您现在需要带有 javascript_pack_tag 的 JS!

在此处阅读更多信息:https://prathamesh.tech/2019/08/26/understanding-webpacker-in-rails-6/

如果你想让 bootstrap 工作(并且你已经通过 yarn 安装了它),请将其导入 app/javascript/application.js

import "bootstrap";

【讨论】:

  • 天啊,我太瞎了。我没有注意到应用程序中的 javascript 目录并且对资产进行了更改。非常感谢!
【解决方案2】:

有一些依赖项,您必须添加它们才能使事情正常进行。我可以写下每一步,但是有一个很好的教程,它将逐步引导您完成: Add Bootstrap 4 to your Ruby on Rails 6 application

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-11-20
    • 1970-01-01
    • 2011-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-30
    • 1970-01-01
    相关资源
    最近更新 更多