我在我的Rails项目中放了一堆javascript插件和图片,css。
这是结构。
公共/ CSS 公共/ JS 公共/图像
我添加了
config.assets.compile = true
config.serve_static_assets = true
in production.rb
如果文件位于/ app / assets /
内,它压缩得很好外部插件怎么样?
我需要做些什么来压缩/ public中的一堆lib?
答案 0 :(得分:0)
资产管道
你错过了asset pipeline
的观点;特别是precompilation
过程:
Rails捆绑了一个rake任务来编译资产清单 和管道中的其他文件。
编译资产将写入指定的位置 config.assets.prefix。默认情况下,这是/ assets目录。
您可以在部署期间在服务器上调用此任务来创建 直接在服务器上编译资产的版本。见下 有关本地编译的信息部分。
-
<强>预编译强>
precompile your asset
可以回答您的问题 - 为此,您需要能够将相关资产文件存储在app/assets/....
您可以使用以下命令预编译生产中的资产:
$ rake assets:precompile RAILS_ENV=production
这将基本压缩/缩小您的各种资产文件到您分配给预编译过程的不同文件。默认情况下,它们都被放入application.*
(application.css
/ application.js
等)
-
<强>修正强>
为此,您需要将所有文件移动到app/assets/...
文件夹中。这将它们放入asset pipeline
,这将允许Rails正确预编译资产,并根据需要将它们发送到/public
文件夹
答案 1 :(得分:0)
我觉得你看起来像这样
config.assets.paths << File.join(Rails.root, '/my/special/path')