如果期望对ckeditor进行一些修改,我会尝试从源代码构建它,如文档here中所述。我想构建一个尽可能与我在生产Web服务器上安装的版本相同的版本,因此在我稍后部署修改后的版本时不会有任何意外。以下是我遵循的步骤:
git checkout 4.3.3
(这是生产服务器上的版本)cd dev/builder ; ./build.sh
./build.sh
它显然已成功完成,但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支持论坛上,因为他们不会让我在那里发帖。称我为垃圾邮件发送者!)
答案 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。对不起论坛上的垃圾邮件过滤器。