繁体   English   中英

关于供应商文件夹的困惑

[英]Confusion about the vendor folder

首先,我设置了以下链轮目录:

的application.js

//= require jquery
//= require jquery_ujs
//= require turbolinks
//= require_tree .

application.css

*= require_self
*= require_tree .

但是,供应商提供了一个简单的测试文件,

console.log('I\'ve been loaded,baby!');

是不是由链轮加载? 如果我将其移至app / assets / js可以使用,则不能在供应商中使用。 我需要设置哪些指令才能使其正常工作? 是否必须单独要求它们?

即使在开发中也需要预编译吗?

另外, vendor没有images目录。 许多第三方脚本都带有演示图像。 我实际上更愿意在vendor/images它们,而不是在app/assets/images 可以设置吗?

根据Rails指南

管道资产可以放在以下三个位置之一的应用程序内部:应用程序/资产,库/资产或供应商/资产

确保将资产放置在上述位置之一中。

要回答您的查询:

如果我将其移至app / assets / js可以使用,则不能在供应商中使用。

它在那里工作是因为在application.js中指定了require_tree指令,该指令加载了当前目录(属于application.js )中存在的所有javascript文件,即app/assets/javascripts

//= require_tree .

上面的指令不会从vendor/assets/javascripts加载javascript文件,这就是为什么它不能在vendor起作用的原因。

我需要设置哪些指令才能使其正常工作? 是否必须单独要求它们?

是的,您必须在application.js明确要求它们。

假设您有vendor/javascripts/abc_vendor.jsvendor/stylesheets/abc_vendor.css

然后在application.js您必须添加

//= require abc_vendor

并在application.css

*= require abc_vendor

许多第三方脚本都带有演示图像。 我实际上更愿意在供应商/图像中使用它们,而不是在应用程序/资产/图像中使用它们。 可以设置吗?

是。 可以设置。 只需在vendor/assets目录中创建文件夹images 在该文件夹中添加供应商映像。 假设您在vendor/assets/images目录中添加了abc_logo.jpg 重新启动服务器。 并以以下方式访问图像:

<%= image_tag "abc_logo.jpg" %>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM