如何在 Bower 存储库中包含子依赖项
How to include sub-dependencies in a Bower repository
我正在创建一个基本的 JS 框架,我将把它上传到 Github 并希望创建一个 bower 包,以便我可以将它安装到我使用 Bower 的其他项目中。我以前从未这样做过,但我可能会解决这个问题。
混淆来自我的框架所依赖的其他依赖项。例如,我想将 Fastclick.js 指定为依赖项,并在我的框架内像这样调用它。
window.addEventListener('load', function() {
FastClick.attach(document.body);
}, false);
所以我的问题是我应该怎么做?我假设我没有将 Fastclick 库包含在我编译的“/dist”文件夹中,并且我可以在我的 Bower 文件中指定它,以便当有人安装我的框架时他们将获得正确版本的 Fastclick?如果是这种情况,那么我如何确保他们在我的图书馆之前加载图书馆?我无法控制他们的 HTML 或他们加载脚本的顺序。
我可以将 Fastclick 代码复制并粘贴到我的库中,这当然是一种选择,但我觉得必须有更好的方法来做到这一点。我的大脑告诉我,要正确地做到这一点需要某种 JS 模块加载系统。
如你所知。我真的不知道我在说什么,如果问题很含糊,我深表歉意。任何帮助将不胜感激。
做一个
bower install --save <library-name> // in your case Fastclick.
这将创建一个 bower.json 文件,或使用库对其进行更新。它现在也应该保存在 bower_components/
.
现在转到 bower_components/<library-name>
并查看要包含到项目中的文件。例如,从 bower.json of FastClick 来看,您似乎需要包含 lib/fastclick.js
才能实现功能。
因此,要使用该库,在您的项目 index.html 中,您需要在以下行中添加脚本标记:
<script src="bower_components/FastClick/lib/fastclick.js"></src>
大功告成!
任何克隆您的 git 存储库的人只需要做一个 bower install
,一切都应该开箱即用。
你不需要签入bower_components文件夹,只需要签入bower.json文件,它可以用来安装所有的依赖。
希望对您有所帮助!
最后,我只是将整个 Fastclick 库包含在我打包的代码中。这是确保它在最终应用程序中首先加载的唯一方法。我本可以将它包含在 bower 文件中,最终的应用程序需要以正确的顺序将它包含在他们的模板中,但这种方式似乎更安全。
我正在创建一个基本的 JS 框架,我将把它上传到 Github 并希望创建一个 bower 包,以便我可以将它安装到我使用 Bower 的其他项目中。我以前从未这样做过,但我可能会解决这个问题。
混淆来自我的框架所依赖的其他依赖项。例如,我想将 Fastclick.js 指定为依赖项,并在我的框架内像这样调用它。
window.addEventListener('load', function() {
FastClick.attach(document.body);
}, false);
所以我的问题是我应该怎么做?我假设我没有将 Fastclick 库包含在我编译的“/dist”文件夹中,并且我可以在我的 Bower 文件中指定它,以便当有人安装我的框架时他们将获得正确版本的 Fastclick?如果是这种情况,那么我如何确保他们在我的图书馆之前加载图书馆?我无法控制他们的 HTML 或他们加载脚本的顺序。
我可以将 Fastclick 代码复制并粘贴到我的库中,这当然是一种选择,但我觉得必须有更好的方法来做到这一点。我的大脑告诉我,要正确地做到这一点需要某种 JS 模块加载系统。
如你所知。我真的不知道我在说什么,如果问题很含糊,我深表歉意。任何帮助将不胜感激。
做一个
bower install --save <library-name> // in your case Fastclick.
这将创建一个 bower.json 文件,或使用库对其进行更新。它现在也应该保存在 bower_components/
.
现在转到 bower_components/<library-name>
并查看要包含到项目中的文件。例如,从 bower.json of FastClick 来看,您似乎需要包含 lib/fastclick.js
才能实现功能。
因此,要使用该库,在您的项目 index.html 中,您需要在以下行中添加脚本标记:
<script src="bower_components/FastClick/lib/fastclick.js"></src>
大功告成!
任何克隆您的 git 存储库的人只需要做一个 bower install
,一切都应该开箱即用。
你不需要签入bower_components文件夹,只需要签入bower.json文件,它可以用来安装所有的依赖。
希望对您有所帮助!
最后,我只是将整个 Fastclick 库包含在我打包的代码中。这是确保它在最终应用程序中首先加载的唯一方法。我本可以将它包含在 bower 文件中,最终的应用程序需要以正确的顺序将它包含在他们的模板中,但这种方式似乎更安全。