2016-03-01 42 views
0

我为一个项目配置了JS和CSS压缩器,但是我并没有注意到真正缩小了Javascript文件。Rails没有缩小JS,即使我设置了uglifier

在我production.rb我:

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

CSS似乎所有的精缩(不仅是捆绑在一起)。

我正在部署到Heroku,我注意到它预编译了我的资产,它可能也得到了一些GZip压缩。

但不知怎么的JS文件仍然有吨的空间,变量都保持其默认名称,所以我想它只是捆绑application.js所有文件。

我得到了什么错误或那是预期的输出?如果我想真正缩小这些文件,我应该配置什么吗?

我想要的东西类似于http://jscompress.com/中生成的内容或minified jQuery version中的内容。

谢谢!

+0

您是说您的浏览器在制作网址上显示未缩小的js和css文件的权利?因为如果你只是在谈论你的开发环境,预计你会看到未缩小的资产。 – MilesStanfield

+0

是的,我不是在谈论我的本地(发展)。 我正在谈论我的生产环境。在Heroku上,使用生产设置以及分段环境。他们都得到了未缩小的JS。 CSS看起来很好(缩小)。 – lucasarruda

+0

@MilesStanfield,我发现我正在修改错误的JS文件来触发压缩。这是触发压缩的必要步骤,否则Rails将使用缓存并且不会触发它。 – lucasarruda

回答

0

我发现我修改了一个不在资产管道上的Javascript,因此压缩/缩小不会触发。

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

所以,永远记住修改的JavaScript文件 [要装入的资产管道] 所以你触发压缩机,否则Rails会使用缓存的JavaScript文件,他们将不会被压缩

[0] 关注也为无效字符: UglifyJS结束了,因为在第一行注释的失败的.js文件。但是在我删除评论(<!-- (comment) ... ->)后,它正常运行,我可以看到application.js在暂存中缩小了。更多关于它https://stackoverflow.com/a/35751343/135767

+0

这是完全错误的。您无需修改​​文件以“触发”资产编译,无论这种情况下的“触发”是什么意思。 – meagar

+0

我没有说汇编。编辑总是被触发。 我说**压缩**。压缩或缩小仅在资产被修改时触发(因此它是mtime)。有关更多详细信息,请参阅http://stackoverflow.com/a/7988689/135767。 – lucasarruda

+0

如果我错了,请纠正我,我会很乐意编辑或删除我的答案。 – lucasarruda

相关问题