gpt4 book ai didi

javascript - Rails4 加载 javascript 文件。 ( Assets 管道)

转载 作者:行者123 更新时间:2023-11-28 08:33:18 25 4
gpt4 key购买 nike

我正在努力让我的一个 javascript 文件加载/与 Rails4 应用程序一起使用。该文件是 users.js.coffee 。这是一个包罗万象的 JavaScript 文件,我想为所有页面加载它(不一定只是为用户 Controller )

如果我尝试通过 localhost:3000/assets/users.js 加载,我可以看到编译后的 JS 文件。然而,在 chrome 上使用 cmd+o 不会加载文件,而且事件也不会被触发,所以我知道它不起作用(和加载)

还尝试运行bundle exec rake assets:clean assets:precompile

我在控制台中没有看到任何 500 或 400 或 js 错误。最简单的 users.js.coffee 也不起作用

$(document).ready -> 
alert('hello')

一些配置:

应用程序.js

//= require jquery
//= require jquery_ujs
//= require js-routes
//= require bootstrap-slider
//= require users
//= require_tree .

开发.rb config.assets.initialize_on_precompile = false config.serve_static_assets = false

生产.rb

  # Disable Rails's static asset server (Apache or nginx will already do this)
config.serve_static_assets = true
# Compress JavaScripts and CSS
config.assets.compress = true
config.assets.compile = false
# Generate digests for assets URLs
config.assets.digest = true
config.assets.debug=true

在我开始尝试使用 bootstrap-sass 等获取 Bootstrap 之前,users.js.coffee 也工作正常(切线,最终从 application.haml 中的托管 CDN 加载 Bootstrap ,不确定它是否会干扰js 文件的加载/工作方式)

非常感谢任何调试此问题的指针。已经花了几个小时了,Asset Pipeline 每次都会让我满意

谢谢附:我正在部署到heroku(但是这在dev和heroku中都失败了,所以希望在dev中修复应该足够了)

最佳答案

更新 application.js 内容,方法是将 //= require users 移动到应用程序 javascript 依赖的所有其他库之后,但位于 require_tree 之前。:

//= require jquery
//= require jquery_ujs
//= require js-routes
//= require bootstrap-slider
//= require users
//= require_tree .

这里需要 javascript 的顺序很重要。如果您的文件是 users.js.coffee,那么您需要 coffeescriptjQuery,因此 jQuery 必须在 用户

关于javascript - Rails4 加载 javascript 文件。 ( Assets 管道),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21570836/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com