В CKEDITOR.revision == ('% RE' + 'V%') Какая техника Javascript используется? - PullRequest
0 голосов
/ 07 мая 2018
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 голосов
/ 07 мая 2018

CKEditor построен с использованием build.sh , который в свою очередь вызывает

java -jar ckbuilder/$CKBUILDER_VERSION/ckbuilder.jar

источник которого также находится на GitHub .

Там функция processDirectives() в файле tools.js заменяет вхождения %Version% и %Revision% параметрами командной строки, передаваемыми в ckbuilder.

Поскольку эта замена выполняется только для дистрибутивной сборки, исходный код разработки по-прежнему содержит необработанный %REV%. Этот факт используется для того, чтобы различать источник разработки и разработки.

Разделение строки %REV% просто исключает ее замену, так как здесь используется в качестве справочного значения.

...