bower自定义构建 - 选择特定文件

时间:2014-03-15 22:32:31

标签: javascript css build customization bower

我一直在遇到这个问题,我需要/想要将凉亭包中的特定文件包含到我的应用中,并找不到简单的方法。这不仅限于缩小版本。

示例:Moment.js附带了大约四个可以选择包含的不同文件。那些是moment.js,moment.min.js,moment-with-langs.js,moment-with-langs.min.js。包中的bower.json和隐藏的.bower.json文件指定在" main"中构建时应该包含哪个文件。数组(这里是sass-bootstrap bower包的一个例子):

"main": ["./dist/js/bootstrap.js", "./dist/css/bootstrap.css", "./dist/fonts/*"]

但是在应用程序bower.json文件中没有这样的东西来指定依赖项。人们只能指定依赖关系。

对案例进行了一些讨论:我在bower' github上找到了两个主题,即https://github.com/bower/bower/issues/368https://github.com/bower/bower/issues/369以及此处How to configure Grunt to replace Bower dependencies by its minified versions但问题不仅限于缩小版本。

所有主题都以相同的方式结束,声明bower作为包管理器不应该处理应用程序所需的自定义构建过程。但是,这使得开发人员不得不使用大部分回购或者自行缩小包装来解决问题。很多人都不同意这两点。

我用moment.js解决问题的方法是创建一个 vendor 文件夹并手动添加我需要的文件,然后添加一个Grunt任务来自动完成。但是,如果有一种标准方式可以为用户提供包括以下内容的选项,那就更容易了。所有推荐(默认)文件,缩小版本或只允许从应用程序的bower.json依赖列表中选择特定文件。

也许我没有正确使用它,或者它可能不是一个受欢迎的问题。我不知道它是否应该添加到凉亭中,但也许其他开发人员有处理此案的经验?

1 个答案:

答案 0 :(得分:0)

如果您使用browserify,则会进行debowerify转换,只能从main数组中获取第一个文件。要包含特定的额外文件,请使用适当的路径调用require函数。