在Rails 4中放置Web worker文件的位置?

Hos*_*Aly 10 asset-pipeline ruby-on-rails-4

HTML5 Web Workers通常依赖于外部脚本importScripts().这些脚本应该放在Rails 4的哪个位置,以便它们按照资产管道正常缩小,但仍能正常工作?

使用需要解决的资产管道时存在一些问题:

  1. 外部脚本(如果置于其下)vendor/assets默认情况下不由资产管道处理(在Rails 3中不是这种情况).
  2. 如果脚本放在下面app/assets,则需要将它们包含在内application.js以便进行处理.但是,工作文件不应包含在组合输出中(即application-[digest].js).
  3. 如果脚本包含在资产配置中,则生成的文件将在其文件名中包含摘要.要加载工作者,需要向浏览器提供其路径(例如new Worker('myWorker.js'),我们如何找到路径?(我试过asset_path,但它没有用).
  4. 就像在3中一样,工作人员在调用时需要按名称引用其他文件importScripts().我们如何找到加载的路径?

Hau*_*eth 0

根据惯例(不太流行),它应该转到vendor/assets. 准确地说:

  • app/与此特定应用程序严格绑定的所有内容
  • lib/由您编写但未绑定到您的应用程序的所有代码(可以或将被提取到单独的 gem)
  • vendor/所有第三方代码