13

在我的项目中,我想通过 bower 使用 jquery-mobile。

在我可以使用它之前,我必须先运行npm installgrunt随后在内部运行,然后bower_components/jquery-mobile才能使用缩小的.js文件.css

这非常乏味,如果我必须为我使用的每个库都这样做,我想我会退回到只是下载文件并将它们添加到我的项目中。

那么有没有一种更优雅的方法可以通过 bower 依赖来获取那些“最终”文件?

我的bower.json

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

3 回答 3

19

是否必须运行 npm/grunt 进程取决于每个作者。在 jQuery Mobile 的情况下,可能一些外部用户已经注册了它而没有注意到它需要运行 Grunt 任务;不幸的是,Bower 允许每个人注册包(这是坏的还是好的?:S)。

此外,可能存在一些 Grunt 任务来安装 bower 依赖项并运行它们的 Grunt 任务;如果没有,创建一个并不太复杂。

无论如何,您似乎对那些最终的编译文件“着急”,有jquery-mobile-bower,它已在几个小时前创建并注册到 Bower 中。

bower install jquery-mobile-bower

让我们只希望它得到维护和更新。

于 2013-07-18T16:25:56.987 回答
7

请注意,有一个官方的 jQuery 移动 Bower 包可用。它可以通过以下方式安装:

bower install jquery-mobile

它的 GitHub 端点可以在这里找到。

于 2013-12-24T11:41:48.710 回答
0

我不确定我的解决方案是否是最佳的,但我已从中删除jquery-mobile,并且正在使用、using和pluginsbower.json安装和构建它。我想出了这个,因为我不想使用,因为它是一个非官方的回购。Gruntgrunt-contrib-cleangrunt-gitgrunt-runjquery-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

于 2015-06-27T03:22:36.310 回答