2016-06-05 4 views
0

попытайтесь ознакомиться с требованиями JS - но я не понимаю, что не так с этой настройкой - не может вызывать $ (document) .foundation(), потому что $ undefined.

requirejs.config({ 
    baseUrl: '/js', 
    paths: { 
     jQuery:   'script.php?file=jquery.min.js', 
     foundation:  'script.php?file=foundation.min.js' 
    } 
}); 

require(['jQuery'], function($) { 
    require(['foundation'], function() { 
     $(document).foundation(); // $ undefined? 
    }); 

    // ... more code with different require sections 
}); 
+0

Возможный дубликат [? RequireJS - это случай JQuery чувствителен] (http://stackoverflow.com/questions/20552662/requirejs-is- jquery-case-sensitive) – Louis

ответ

0

Рассмотрим перемещение логики в отдельный файл, например app.js

Затем измените require(['jQuery'], function($) { ... вызов на что-то вроде requirejs(['app']).

В app.js вы должны определить модуль, что-то вроде:

define(['jQuery', 'foundation'], function($, foundation) { 
    $(document).foundation(); 
}); 
+0

будет ли он работать, если я просто напишу: 'define (['jQuery', 'foundation'], function ($) { $ (document) .foundation(); }); ' , потому что мне не нужен фонд var - или он должен писать так, как ваш путь? – heppi75

+0

Теоретически да, дайте ему попробовать –

+0

Гилада - можно задать вам еще один вопрос, чтобы лучше понять: оба варианта работают: '// версия 1 определить ([«JQuery»,«основание»], функция ($, фонд) { $ (документ) .изменение(); }); define (['jQuery', 'fancybox'], function ($, fancybox) { $ (". Fancybox"). Fancybox(); }); // версия 2 определить ([ 'JQuery'], функция ($) { \t определяют ([ 'основа'], функция ($) { \t $ (документ) .foundation(); \t}) ; \t \t определяют ([ 'FancyBox'], функция ($) { \t $() FancyBox() "FancyBox.";. \t}); }); ' – heppi75