javascript - 即使我设置了 uglifier,Rails 也没有缩小 JS

标签 javascript ruby-on-rails ruby heroku asset-pipeline

我为一个项目配置了 JS 和 CSS 压缩器,但我没有注意到 Javascript 文件的真正缩小。

在我的生产.rb中,我有:

config.assets.css_compressor = :sass
config.assets.js_compressor = :uglifier

CSS 似乎都被缩小了(不仅仅是捆绑在一起)。

我正在部署到 Heroku,我注意到它预编译了我的 Assets ,并且可能还进行了一些 GZip 压缩。

但不知何故,JS 文件仍然有大量空格,变量都保留其默认名称,所以我猜它只是将所有文件捆绑在 application.js 中。

我有什么问题或者这是预期的输出吗?如果我想真正缩小这些文件,我应该单独配置一些东西吗?

我想要的是类似于 http://jscompress.com/ 中生成的内容或在 minified jQuery version 上找到的内容.

谢谢!

最佳答案

我发现我正在修改不在 Assets 管道上的 JavaScript,因此不会触发压缩/缩小。

当我修改正确的文件(在 application.js 上加载时,缩小正确触发[0]。

因此,始终记住修改 Javascript 文件 [正在 Assets 管道上加载] 以便触发压缩器,否则 Rails 将使用缓存的 javascript 文件并且它们不会被压缩。

[0] 还要注意无效字符: UglifyJS 最终因 .js 的第一行中的注释而失败。文件。但是在我删除评论( <!-- (comment) ... -> )后,它正常工作,我可以看到 application.js缩小分期。更多相关信息请点击这里https://stackoverflow.com/a/35751343/135767 .

关于javascript - 即使我设置了 uglifier,Rails 也没有缩小 JS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35733236/

相关文章:

javascript - 如何在 Fuel UX TreeView 中预选项目?

javascript - Chrome 说 “Resource interpreted as script but transferred with MIME type text/plain.” ,没有服务器

ruby-on-rails - 变量传递以在部分中使用路径

ruby-on-rails - fork 未正确安装在 rails 上

javascript - 基于水平选项卡的菜单,带有滚动选项卡

javascript - 如何将 mongoDB 连接到 angular2 应用程序?

ruby-on-rails - 尝试使用 Rails 3 将 gem 出售给打包器,但 Gem 没有 Gemspec

ruby-on-rails - Ruby on Rails : Print element of array in a single line in html. erb 文件

ruby-on-rails - ActiveModel::MissingAttributeError:在 Spree 中使用 has_many Assosiacion 时,无法写入未知属性 'product_id'

ruby - Ruby如何命名嵌套类的父类