Установка jQuery-Mobile через беседу - программирование

Установка jQuery-Mobile через беседу

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

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

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

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

Мой bower.json

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

Ответ 1

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

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

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

bower install jquery-mobile-bower

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

Ответ 2

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

bower install jquery-mobile

Его конечную точку GitHub можно найти здесь.

Ответ 3

Я не уверен, что мое решение оптимально, но я удалил 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