gpt4 book ai didi

jquery - Jammit 压缩在开发模式下工作,但不能像压缩 JS 那样工作

转载 作者:行者123 更新时间:2023-12-01 04:27:47 24 4
gpt4 key购买 nike

我的Rails应用程序现在已经相当进步了,我想正确压缩包含的JS文件(带插件的Aloha编辑器+ Gritter,用超过1MB的JS组成多个文件)。我决定使用 Jammit,因为它与 Rails 集成良好。这是我的 config/assets.yml:

package_assets:          always
javascript_compressor: closure
compressor_options:
compilation_level: ADVANCED_OPTIMIZATIONS

javascripts:
admin:
- public/aloha/aloha.js
- public/aloha/plugins/com.gentics.aloha.plugins.Format/plugin.js
- public/aloha/plugins/com.gentics.aloha.plugins.Table/plugin.js
- public/aloha/plugins/com.gentics.aloha.plugins.List/plugin.js
- public/aloha/plugins/com.gentics.aloha.plugins.Link/plugin.js
- public/javascripts/*.js
- public/javascripts/gritter/*.js

说明:aloha.js 是一个扩展的 jQuery 1.4.2 库,/javascripts/.js 和/gritter/.js 中的文件大部分依赖于它(jQuery)。我将标签包含在我的 View 代码中

<%= include_javascripts :admin %>

简单明了。

当切换到开发模式(assets.yml 已打开 package_assets: on)时,Jammit 会单独保留 JS 文件并一一嵌入所有文件,我的应用程序就很好了。

但是,在生产模式下(env = :development,或 asset.yml 有 package_assets: 总是),Jammit 会创建一个大约 700kB 的压缩 JS 文件(哇,那是一个胖怪物),它可以正确嵌入,但我得到一个页面加载时出现 JS 错误“jQuery 未定义”。我的第一个猜测是,JS 文件的顺序在编译过程中发生了变化,尽管它不应该发生变化?

还有一件事:将压缩器保留为默认值 (yui) 会导致加载时出现更严重的 JS 错误。

有人可以帮我吗?

最佳答案

我们在使用执行“高级优化”的编译器压缩 Aloha Editor 时遇到了很多问题 - aloha 核心编译良好,但 ExtJS 依赖项编译失败。

由于aloha.js已经编译,看看是否可以跳过编译,直接连接到结果文件,而不是再次编译。

要尝试的另一件事是看看是否可以在编译器或 basic_optimizes 中仅启用 whitespace_only 选项。这将显示是否是编译过程的问题。

关于jquery - Jammit 压缩在开发模式下工作,但不能像压缩 JS 那样工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5258588/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com