2016-06-05 9 views
1

Я использую stylus, чтобы отобразить некоторый код в CSS на стороне клиента.

Если я включаю файл stylus.min.js в свою первоначальную загрузку, все работает нормально.

Однако, поскольку стилус довольно большой, я хотел бы отложить загрузку этого файла, пока он не понадобится, и возьмите его с jQuery 1.8.2 $.getScript().

Это дает мне эту ошибку:

RangeError: stylus:947:26 
    943|  &[data-aaa="1"] 
    944|   margin-top 2em 
    945|  &[data-bbb="1"] 
    946|   transition 1s 
    947|   margin-top -2em 
---------------------------------^ 

Maximum call stack size exceeded 


    at f.visit (http://f264bc8tf77nkh.cloudfront.net/static/1akh96ita/ace/stylus-min.js?_=1465163994282:4:26233) 
    at i.visit (http://f264bc8tf77nkh.cloudfront.net/static/1akh96ita/ace/stylus-min.js?_=1465163994282:4:17594) 
    at f.visit (http://f264bc8tf77nkh.cloudfront.net/static/1akh96ita/ace/stylus-min.js?_=1465163994282:4:26106) 
    at i.visit (http://f264bc8tf77nkh.cloudfront.net/static/1akh96ita/ace/stylus-min.js?_=1465163994282:4:17594) 
    at f.visit (http://f264bc8tf77nkh.cloudfront.net/static/1akh96ita/ace/stylus-min.js?_=1465163994282:4:26106) 
    at i.visit (http://f264bc8tf77nkh.cloudfront.net/static/1akh96ita/ace/stylus-min.js?_=1465163994282:4:17594) 
    at f.visit (http://f264bc8tf77nkh.cloudfront.net/static/1akh96ita/ace/stylus-min.js?_=1465163994282:4:26106) 
    at i.visit (http://f264bc8tf77nkh.cloudfront.net/static/1akh96ita/ace/stylus-min.js?_=1465163994282:4:17594) 
    at f.visit (http://f264bc8tf77nkh.cloudfront.net/static/1akh96ita/ace/stylus-min.js?_=1465163994282:4:26106) 
    at i.visit (http://f264bc8tf77nkh.cloudfront.net/static/1akh96ita/ace/stylus-min.js?_=1465163994282:4:17594) 

ли это, что есть некоторые ограничения на сценарии, которые загружаются через getScript, что я могу отключить?

Спасибо.

код загрузки:

load = function(templateName, callback) { 
    if (_.str.endsWith(templateName, '.js')) { 
    var url = '//' + settings.cdn + '/static/' + settings.assetsTime +'/' + templateName 

    $.getScript(url, function(data, textStatus, jqxhr) { 
     if (callback) callback() 
    }); 
    return 
    } 
} 

загружает много других файлов с этим же кодом и он работает отлично.

+0

Пожалуйста, сообщите нам точный код, который используется для загрузки файла. – jfriend00

+0

@ jfriend00 загрузка код добавлен. Также jquery v 1.8.2 может быть, это имеет значение? – Harry

+0

Прежде чем вызвать getScript, я бы проверил, был ли он уже загружен. – faster

ответ