【发布时间】:2019-11-15 12:40:00
【问题描述】:
我在vendor/assets 目录中发现了几个不同的线程,但没有找到任何对我有用的东西。以前,我将所有供应商资产放在 app/ 目录中,但将 JavaScript 移动到 vendor/assets/javascripts/ 目录,将 CSS 移动到 vendor/assets/stylesheets/ 目录。
我现在正尝试在开发和生产中加载我的供应商资产,但它们根本没有加载。这是我的assets.rb 文件:
# Be sure to restart your server when you modify this file.
# Version of your assets, change this if you want to expire all your assets.
Rails.application.config.assets.version = '1.0'
# Add additional assets to the asset load path
# Rails.application.config.assets.paths << Emoji.images_path
# Precompile additional assets.
# application.js, application.css, and all non-JS/CSS in app/assets folder are already added.
Rails.application.config.assets.precompile += [
Rails.root.join('vendor/assets/javascripts/*').to_s,
Rails.root.join('vendor/assets/stylesheets/*').to_s
]
我也尝试将vendor/assets/ 目录添加到Rails.application.config.assets.paths,但没有帮助。
如何在资产管道中包含所有供应商资产?
更新
我通过将以下内容添加到 app/assets/javascripts/application.js 来加载我的供应商 JavaScript:
//= require_tree ../../../vendor/assets/javascripts/.
但是,我正在使用 Sass,但仍然无法加载 SCSS 文件。
【问题讨论】:
-
添加这些行时是否重新启动了服务器?您应该像这样添加文件夹:
config.assets.paths << Rails.root.join('vendor', 'assets') -
@Waclock 感谢您的评论。我确实重新启动了我的服务器,不幸的是,以这种方式添加文件夹也不起作用。
标签: ruby-on-rails ruby-on-rails-5 asset-pipeline vendor