2015-04-25 6 views
1

Я застрял в этой точке, где я вижу, что yslow больше не подходит для PhantomJS 2.0, поскольку свойство phantom.args в API устарело. Но в более ранней версии он работает.Какая версия PhantomJS совместима с yslow?

Пожалуйста, дайте мне знать, какая версия PhantomJS работает с yslow?

ответ

0

phantom.args is deprecated от PhantomJS 2.0 и далее. Используйте либо более старую версию (не рекомендуется), либо вместо скрипта yslow вместо system.args. Обратите внимание, что системный модуль должен быть необходим.

system.args[0] всегда является именем сценария, и system.args[1] является первым, но до phantom.args[0] был первым аргументом. Поэтому вам также нужно будет изменить все индексы на единицу.

У PhantomJS был большой надгробие с версией 2, которая также включала гораздо более новую версию WebKit.

0

Надо менять yslow.js на линии 22.

Я сделал изменения, как этот

//args = phantom.args, 
args = require('system'), 

И это работало отлично ... Это должно быть исправлено, чтобы YSlow тогда !!!

Это избавит вас от ошибки, но аргументы не попадут на правильное место.

Затем я изменил на

//args = phantom.args, 
system = require('system'), 
args = system.args, 
len = args.length, 

Но до сих пор не хороший знак !!!


Хорошо, но это еще не подтверждено, что оно стабильно и отлично работает. Я изменил индекс сейчас ниже

line 69: for (i = 1; i < len; i += 1) { 

, а также изменен phantom.args в аргументах [0] только, чтобы иметь правильное описание вывода --help. Но все же я сомневаюсь, правильно ли он сейчас индексируется или нет.

+0

Не должно быть 'args = require ('system'). Args'? –

+0

Ах, он избавился от ошибки, но не правильно подобрал аргументы, я изменил ее на | system = require ('system'), \t args = system.args, len = args.length, но все же он не работает, как предполагается. –

+0

Обратите внимание, что индексирование отличается. Я добавлю это к своему ответу –

0

По-видимому there is a fix для этой проблемы, но он еще не слит в главной ветке.