Установка jQuery-Mobile через bower

в моем проекте я хотел бы использовать jquery-mobile через bower.

прежде чем я смогу использовать его, я должен запустить npm install и grunt впоследствии внутри bower_components/jquery-mobile прежде чем я смогу использовать minified .js и .css файлы.

это довольно утомительно, и если бы мне пришлось сделать это для каждой библиотеки, которую я использую, я думаю, что я бы вернулся к просто downlading файлы и добавить их в мой проект.

Итак, есть более элегантный способ добраться до этих "окончательных" файлов через bower зависимость?

мой bower.json

"dependencies": {
    ...     
    "jquery-mobile": "latest",
}

3 ответов


факт запуска процесса npm/grunt (или нет) зависит от каждого автора. В случае jQuery Mobile, вероятно, какой-то внешний пользователь зарегистрировал его, не заметив, что ему нужно запускать задачи Grunt; Bower, к сожалению, позволяет всем регистрировать пакеты (это плохо или хорошо? :С.)

также существуют некоторые задачи Grunt для установки зависимостей bower и запуска их задач Grunt; если нет, это не слишком сложно создать один.

в любом случае, поскольку кажется, что вы "спешите" для этих окончательных, скомпилированных файлов, есть jquery-mobile-bower, который был создан и зарегистрирован в беседке несколько часов назад.

bower install jquery-mobile-bower

будем надеяться, что это будет поддерживаться и обновляться.


чтобы вы знали, есть официальный пакет jQuery mobile Bower. Его можно установить через:

bower install jquery-mobile

его конечная точка GitHub может быть найдена здесь.


Я не уверен, что мое решение оптимально, но я удалил jquery-mobile С bower.json и я устанавливаю и строю его с Grunt, используя grunt-contrib-clean, grunt-git и grunt-run Плагины. Я придумал это, потому что я не хочу использовать jquery-mobile-bower, потому что это неофициальные РЕПО.

вот пример Gruntfile.js:

module.exports = function (grunt) {

    grunt.initConfig({
        clean: {
            jquerymobile: 'bower_components/jquery-mobile'
        },
        gitclone: {
            jquerymobile: {
                options: {
                    repository: 'https://github.com/jquery/jquery-mobile.git',
                    branch: 'master',
                    directory: 'bower_components/jquery-mobile'
                }
            }
        },
        run: {
            options: {
                cwd: "bower_components/jquery-mobile"
            },
            jquerymobile_npm_install: {
                cmd: "npm",
                args: [
                    'install'
                ]
            },
            jquerymobile_grunt: {
                cmd: "grunt"
            }
        }
    });

    grunt.loadNpmTasks('grunt-contrib-clean');
    grunt.loadNpmTasks('grunt-git');
    grunt.loadNpmTasks('grunt-run');

    grunt.registerTask('default', [
        'clean',
        'gitclone',
        'run'
    ]);
};

более подробную информацию можно найти здесь https://github.com/jquery/jquery-mobile/issues/7554