Продвиньте плагин jQuery с помощью браузера

Привет, я использую задачу grund browserify для настройки моего кода, я настроил jQuery, и теперь я пытаюсь включить jquery.tablesorter.

Можно ли использовать jquery-плагины с браузером таким образом?

shim: {
    jquery: {
        path: 'lib/bower/jquery/jquery.js',
        exports: '$'
    },
    'jquery.tablesorter': {
        path: 'lib/bower/jquery.tablesorter/js/jquery.tablesorter.js',
        exports: 'tablesorter',
        depends: {
            jquery: '$',
        }
    }
}

Ответ 1

Вы можете попробовать:

shim: {
    jquery: {
        path: 'lib/bower/jquery/jquery.js',
        exports: '$'
    },
    'jquery.tablesorter': {
        path: 'lib/bower/jquery.tablesorter/js/jquery.tablesorter.js',
        exports: null,
        depends: {
            jquery: '$',
        }
    }
}

Если вышеуказанное не работает, вы можете попробовать следующее:

shim: {
    jquery: {
        path: 'lib/bower/jquery/jquery.js',
        exports: null
    },
    'jquery.tablesorter': {
        path: 'lib/bower/jquery.tablesorter/js/jquery.tablesorter.js',
        exports: null,
        depends: {
            jquery: 'jQuery',
        }
    }
}

Ответ 2

Возможно, вам не нужно использовать раздел "browserify-shim" в package.json, если вы используете это расширение.

Вы можете сделать здесь Использование Browserify с плагинами jQuery

Я пробовал, и он работает.

Пример

package.json

"browserify": {
    "transform": ["browserify-shim"]
},
"browser": {
     "jQuery.translit": "./public_html/js/vendor/jquery/jquery.translit.js"
},
"browserify-shim": {
    "jQuery": "global:jQuery"
}

JS файл:

var $ = require("jQuery"),
    translit = require("jQuery.translit"),  //don't use this variable      
    heading = require("./helper/heading.js");
$.transliterate("parameter"); //use as regular jQuery plugin instead

Ответ 3

Его гораздо проще потребовать global.JQuery, а затем потребовать свой модуль, он не требует изменений в package.json:

global.jQuery = require('jquery');
require('tipso');