如何部署Bower安装的软件包?

时间:2015-06-27 15:27:31

标签: jquery angularjs twitter-bootstrap gulp bower

我已经使用Bower安装了一些软件包,但我不知道如何部署它们。

例如,我的第一个想法是创建一个将连接它们的Gulp任务 - 我用我的角度包来做到这一点:

gulp.task('libs', function () {
    'use strict';
    return gulp
        .src([
            './public/assets/libs/angular/angular.min.js',
            './public/assets/libs/angular-animate/angular-animate.min.js',
            './public/assets/libs/angular-routes/angular-route.min.js'
        ])
        .pipe(concat('libs.js'))
        .pipe(uglify())
        .pipe(gulp.dest('public/dist'));
});

然而,虽然上面的这些包非常简单,但其他一些(确切地说,Bootstrap和jQuery)带有我不需要的源代码。我应该将bootstrap.min.cssjquery.min.js复制到我的dist文件夹吗?

坦率地说,我可以从CDN中包含所有这些文件,我还不明白为什么我会使用Bower(我一直在关注使用Bower的教程)。

感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

首先,我认为这是使用Bower的原因。

在旧时代#34;在您的应用程序中包含特定JavaScript库(让我们说jQuery)的方法是访问jQuery网站,单击下载链接,然后将下载的.zip文件移动到项目目录中并解压缩。然后,您将添加包含库的script标记。

"现代"包含JavaScript库(仍然使用jQuery作为示例)的方法是简单地运行bower install jquery --save,这将a)将jQuery添加到bower.json文件中,该文件列出了所有应用程序的依赖项和b )抓住jQuery文件并将它们放在适当的位置。如果你正在使用一种你可能已经或可能没有遇到的注射物,你甚至不必担心script标签,因为这是由你的构建系统来处理的。

(顺便说一句,我认为Bower的灵感来自其他语言和RubyGems的RubyGems等软件包管理工具,我知道这些工具在JavaScript世界之前存在多年。你可能会感兴趣看看这样的工具。)

其次,我将回答您关于部署的问题。

这取决于您的部署地点。我个人在我的所有生产环境中使用Heroku。我没有将我的JavaScript供应商库检查到Git中,因为在版本控制中保留构建工件并不是一个好主意。相反,我只需检查Heroku能够检测到的bower.json。 Heroku在生产中运行bower install,其中包含所有相应的库文件。这就是我的部署工作方式,虽然这不是唯一可行的方式。

如果您想知道如何部署到特定平台,最好编辑此问题或创建一个单独的问题,其中包含有关部署环境的更多详细信息。