Requirejs не загружает jquery1.7 из CDN в качестве модуля

StackOverflow https://stackoverflow.com/questions/8302700

  •  25-10-2019
  •  | 
  •  

Вопрос

Мне нужно загрузить jQuery1.7 как модуль, я видел этот код @jrburke:

requirejs.config({
  paths: {
    'jquery' : 'http://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min'
  }
});

require(['jquery'], function($) {
  //$ points to jQuery
});

Это не очень полезно для меня, потому что все .js Имя генерируется на стороне сервера, я получил их от PHP-Array.

Итак, я написал это:

require(['http://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js'],
        function($) {
  //$ points to jQuery
});

Но $ это нулевое внутри этой функции.

ОБНОВИТЬ:

Вот мой PHP-Template, который отображает мои JS-подписки для этой страницы:

<script src="http://requirejs.org/docs/release/1.0.1/minified/require.js">
</script>

<script> 
    require([
        <?php echo "'". implode("',\n\t'", $this->scripts) . "'\n"; ?>
    ], function($){

        console.warn ($); // null ;(

        // loaded jQuery
        window.$ = $;

        // Load main client script for this page
        boot( '<?php echo $this->eprint($this->content_page); ?>' );

    });
</script>

И это моя PHP-ареска для этой страницы (страница index):

$scripts = array(
    'http://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js',
    'http://ajax.microsoft.com/ajax/jquery.templates/beta1/jquery.tmpl.min.js',
    '/js/libs/jquery.history.js?v=1321687090',
    '/js/libs/coolclock.js?v=1321629683',
    '/js/libs/excanvas.js?v=1321629683',
    '/js/client.modules.js?v=1321703735',
    '/js/client.all.js?v=1322512192',
    '/js/boot.js?v=1322512037',
    '/js/client.index.js?v=1321689884'
);
Это было полезно?

Решение

Получите свой массив PHP формы:

$jquery = array (
   'jQuery' => 'http://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js'
);

Тогда попробуйте:

requirejs.config({
  paths: <?php echo json_encode($jquery) ?>
});

require(['jquery'], function($) {
  //$ points to jQuery
});
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top