Rails 6 看不到 JS
Posted
技术标签:
【中文标题】Rails 6 看不到 JS【英文标题】:Rails 6 does not see 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.js
,app/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,就不可能提供任何有意义的调试帮助。
【参考方案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
【讨论】:
以上是关于Rails 6 看不到 JS的主要内容,如果未能解决你的问题,请参考以下文章
运行任何 rails cmnd 时找不到“activesupport”