Объединение файлов плагинов jQuery приводит к ошибкам - PullRequest
2 голосов
/ 31 января 2011

Я объединяю файлы плагинов, чтобы уменьшить количество HTTP-запросов.Удалена минимизация для отладки.

Объединенный файл сценария:

test.js:

(function($){
    $.fn.extend({
    GetNewDiv: function(){
        return $('<div>Testing new div</div');
    }
    });
})(jQuery)

// ;jQuery.noConflict(); 
(function($){
    $.fn.extend({
    GetNewSpan: function(){
        return $('<span class="test">Testing new div</span>');
    }
    });
})(jQuery)

HTML, использующий этот файл

<html>
<head>
<script type="text/javascript" src="jquery-1.4.2.js"></script>
<script src="test.js" type="text/javascript"></script>

<script type="text/javascript">

$(document).ready(function(){
    alert('document ready');
});
</script>
</head>
<body>
test message
</body>

Открытие файла в Firefox отображает эту ошибку в Firebug

function ($) {$.fn.extend({GetNewDiv: function () {return $("<div>Testing new div</div");}});}(jQuery) is not a function
file:///C://js/test.js
Line 10

Добавление «jQuery.noConflict ();» между двумя подключаемыми модулями помогает, но тогда ошибка меняется на $ нефункция

Есть идеи, что не так?Как правильно объединить несколько файлов .js в один файл?

Спасибо, Абхи

1 Ответ

11 голосов
/ 31 января 2011

Вам просто нужна точка с запятой между файлами. Каждая из этих ... вещей является фрагментом выражения JavaScript. Без точки с запятой парсер думает, что выражение продолжается.

Точки с запятой иногда необязательны в JavaScript, но если это не так, это не так.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...