Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails heroku预编译资产有必要吗_Ruby On Rails_Heroku - Fatal编程技术网

Ruby on rails heroku预编译资产有必要吗

Ruby on rails heroku预编译资产有必要吗,ruby-on-rails,heroku,Ruby On Rails,Heroku,我已经开始学习rails,并且已经构建了两个应用程序,一个简单的博客应用程序和一个商店应用程序。现在我在上传到heroku时遇到了一个术语“预编译资产”,有人能向我解释一下,在将应用程序部署到生产环境时是否有必要,因为我已经将我的商店应用程序毫无问题地上传到heroku了吗?资产就是你的css+JS。预编译资产意味着它们加入到一个.css和另一个.js.文件中(在一个HTTP请求中加载)。并将缩小的特殊机制应用于这两个文件(使其更小)。默认情况下,Rails的设置方式是,它在dev中使用普通文件

我已经开始学习rails,并且已经构建了两个应用程序,一个简单的博客应用程序和一个商店应用程序。现在我在上传到heroku时遇到了一个术语“预编译资产”,有人能向我解释一下,在将应用程序部署到生产环境时是否有必要,因为我已经将我的商店应用程序毫无问题地上传到heroku了吗?

资产就是你的
css
+
JS
。预编译资产意味着它们加入到一个
.css
和另一个
.js.
文件中(在一个HTTP请求中加载)。并将缩小的特殊机制应用于这两个文件(使其更小)。默认情况下,Rails的设置方式是,它在dev中使用普通文件,在prod中使用编译文件。您可以在configs中轻松更改这一点,但除非您确实知道自己在做什么,否则不应该这样做

如果需要,可以在本地运行
rakeassets:precompile
编译这些文件,然后将其放入git中。我认为您可以在heroku配置中的heroku部署期间禁用/启用预编译。但是,总的来说,我会坚持默认值


有关资产管道的详细信息:

Rails有一个资产管道,它由链轮和资产帮助器组成

资产管道将压缩和缩小CSS和javascript,并负责设置图像和其他资产的正确路径。这被称为编译资产

在开发中,这是为每个请求动态完成的,您可以立即看到更改

在生产中,这将大大降低速度,因此应该在部署时编译一次资产。在提交后钩子中为您准备

预编译是指在本地运行
rakeassets:precompile
,然后将结果上传或推送到服务器。如果要在不支持资产管道的情况下部署到服务器,则可以执行此操作。例如,如果生产服务器没有运行uglifier所需的javascript运行时


它给git更改历史记录添加了大量噪音,手动执行任何操作都是用户错误的常见来源。这很糟糕,你只有在必要的时候才会这么做。

我没有任何问题,我甚至在知道预编译资产之前就已经部署了这两个应用程序。这就是为什么我要问,我不熟悉这个词,所以如果现在没有必要的话,我真的不想进入它。它不是那么重要,但这很容易被谷歌搜索到。好的基本url:。如果我的答案对你有帮助,而这正是你想要的,那么请在上面打勾,以备将来读者阅读