在我的项目中,我想通过bower使用jquery-mobile。
在我可以使用它之前,我必须在npm install
之后运行grunt
和bower_components/jquery-mobile
,然后才能使用缩小的.js
和.css
文件。
这非常繁琐,如果我必须为我使用的每个库执行此操作,我想我会回退到只是将文件下载并将它们添加到我的项目中。
那么是否有更优雅的方式通过凉亭依赖来获取这些“最终”文件?
我的bower.json
"dependencies": {
...
"jquery-mobile": "latest",
}
答案 0 :(得分:19)
必须运行npm / grunt进程(或不运行)的事实取决于每个作者。在jQuery Mobile的情况下,可能有一些外部用户注册了它而没有注意到它需要运行Grunt任务;不幸的是,鲍尔允许每个人注册包裹(是坏还是好?:S)。
另外,可能存在一些Grunt任务来安装bower依赖项并运行它们的Grunt任务;如果没有,创建一个并不太复杂。
无论如何,因为看起来你对这些最终的编译文件感到“匆忙”,所以jquery-mobile-bower已经创建并在几小时前注册到Bower。
bower install jquery-mobile-bower
让我们希望这一点得到维护并保持最新。
答案 1 :(得分:7)
答案 2 :(得分:0)
我不确定我的解决方案是否是最佳解决方案,但我从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'
]);
};
找到