我已经使用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.css
和jquery.min.js
复制到我的dist
文件夹吗?
坦率地说,我可以从CDN中包含所有这些文件,我还不明白为什么我会使用Bower(我一直在关注使用Bower的教程)。
感谢您的帮助!
答案 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
,其中包含所有相应的库文件。这就是我的部署工作方式,虽然这不是唯一可行的方式。
如果您想知道如何部署到特定平台,最好编辑此问题或创建一个单独的问题,其中包含有关部署环境的更多详细信息。