CKBuilder给了我太多的插件

时间:2014-03-12 14:12:44

标签: ckeditor

如果期望对ckeditor进行一些修改,我会尝试从源代码构建它,如文档here中所述。我想构建一个尽可能与我在生产Web服务器上安装的版本相同的版本,因此在我稍后部署修改后的版本时不会有任何意外。以下是我遵循的步骤:

  1. 克隆git存储库
  2. git checkout 4.3.3(这是生产服务器上的版本)
  3. 将build-config.js从生产服务器复制到ckeditor-dev / dev / builder /(我的生产版本来自在线构建器;配置位于http://ckeditor.com/builder/059ce76c63ea2ff01636265c46f713c5
  4. cd dev/builder ; ./build.sh
  5. 有关于丢失插件(scayt和wsc)的投诉,所以我将它们下载为zip文件(scayt_4.3.3.zip和wsc_4.3.3.zip)并将它们解压缩到ckeditor-dev / plugins
  6. 再次尝试./build.sh
  7. 它显然已成功完成,但release/ckeditor中的结果与我希望的生产版本不匹配。它包含了许多我没有要求的插件,我知道他们并不是我所要求的插件的依赖,因为没有它们的生产版本工作正常。例如,我的release/ckeditor/plugins/adobeair中没有提到build-config.js

    ckeditor.js文件也与生产版本不匹配。我可以看到部分原因是存在不同的时间戳和版本字符串(" 4.3.3 DEV"),但是还有很多其他更改,我无法轻易检查因为它缩小了。我无法真正相信这个文件是正确构建的,因为插件列表没有正确构建。此外,我无法将构建过程分解为更小的步骤,因为there's no source会找出它正在做的事情。

    在绝望的行动中,我试图了解正在发生的事情,我将build-config.js中的插件列表简化为about插件并再次运行./build.sh。这导致release/ckeditor/plugins变得更大!

    有人可以解释为什么build.sh无法向我提供与从在线构建器下载的版本相近的内容吗?

    (顺便说一句,这个问题在这里而不是在CKEditor支持论坛上,因为他们不会让我在那里发帖。称我为垃圾邮件发送者!)

1 个答案:

答案 0 :(得分:3)

https://github.com/ckeditor/ckeditor-dev中的构建脚本使用的CKBuilder正是http://ckeditor.com/builder使用的那个。差异是由传递给它的不同参数引起的。

默认情况下,CKBuilder会将所有插件(甚至是build-config.js中省略的插件)添加到包中,尽管它不会将它们合并到ckeditor.js中。它们可以按需启用。因此,ckeditor.js并不比从http://ckeditor.com/builder下载的内容大。

构建一个只包含您在build-config.js中指定的那些插件的包,并将-s选项传递给构建脚本:

> ./dev/builder/build.sh -s

您还可以查看其他选项:

> ./dev/builder/build.sh --help

正如您在那里找到的那​​样,可以更改版本,让JS和CSS不受限制等。

PS。对不起论坛上的垃圾邮件过滤器。