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

在CKEDITOR.revision==(';%RE';+;';V%';)中使用了什么Javascript技术?,javascript,ckeditor4.x,Javascript,Ckeditor4.x,我在CKeditor 4.9.0自定义版本中找到了这段代码。为什么REV被分成两个字符串?所使用的javascript技术是什么?CKEditor是使用来构建的,后者反过来调用 function isWysiwygareaAvailable() { // If in development mode, then the wysiwygarea must be available. // Split REV into two strings so builder d

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

CKEditor是使用来构建的,后者反过来调用

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' );
    }
其来源也已打开

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

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


拆分字符串
%REV%
可以简单地避免替换,因为它在这里用作参考值。

在语句上方的注释中对此进行了解释。而且它与JavaScript无关。注释中提到的构建器可能是一个工具,它将包含编辑器代码的无数小文件组合到一个发布的大文件中。它们可能在构建服务器中有一个配置,用于将word
%REV%
的所有实例替换为实际的版本ID。因此,在开发人员机器上,版本将是
%REV%
,而在构建的库中,它将是实际的版本号,如
4.9.0
。我投票结束这篇文章,主要是基于观点,因为答案需要对他们使用的构建过程进行一些推测,除非内部人员决定解释。
java -jar ckbuilder/$CKBUILDER_VERSION/ckbuilder.jar