在CKEDITOR.revision ==('%RE' +' V%')使用了什么Javascript技术?

时间:2018-05-07 05:45:35

标签: javascript ckeditor4.x

function isWysiwygareaAvailable() {
        // If in development mode, then the wysiwygarea must be available.
        // Split REV into two strings so builder does not replace it :D.
        if ( CKEDITOR.revision == ( '%RE' + 'V%' ) ) {
            return true;
        }

        return !!CKEDITOR.plugins.get( 'wysiwygarea' );
    }

我在CKeditor 4.9.0自定义版本中找到了这段代码。为什么REV被分成两个字符串?使用什么JavaScript技术?

1 个答案:

答案 0 :(得分:1)

CKEditor是使用build.sh构建的,后者又调用

java -jar ckbuilder/$CKBUILDER_VERSION/ckbuilder.jar

其来源也在GitHub

在那里,文件tools.js中的函数processDirectives()用传递给ckbuilder的命令行参数替换了%Version%%Revision%的出现次数。

由于此替换只适用于分发版本,因此开发源代码仍包含未处理的%REV%。这个事实用于区分dev和prod源。

拆分字符串%REV%只是避免替换字符串,因为它在此处用作参考值。