Javascript bower自定义生成-选择特定文件

Javascript bower自定义生成-选择特定文件,javascript,css,build,customization,bower,Javascript,Css,Build,Customization,Bower,我不断遇到这个问题,我需要/想要将一个特定的文件从bower软件包包含到我的应用程序中,但却找不到简单的方法。这不限于缩小版 示例:矩.js附带了四个不同的文件,您可以选择包括其中。这些是moment.js、moment.min.js、moment-with-langs.js、moment-with-langs.min.js。包中的bower.json和hidden.bower.json文件指定在构建“main”数组期间应包含的文件(以下是sass引导bower包的示例): 但是在apps bo

我不断遇到这个问题,我需要/想要将一个特定的文件从bower软件包包含到我的应用程序中,但却找不到简单的方法。这不限于缩小版

示例:矩.js附带了四个不同的文件,您可以选择包括其中。这些是moment.js、moment.min.js、moment-with-langs.js、moment-with-langs.min.js。包中的bower.json和hidden.bower.json文件指定在构建“main”数组期间应包含的文件(以下是sass引导bower包的示例):

但是在apps bower.json文件中没有指定依赖项的内容。只能指定依赖项

关于这个案例有一些讨论:我在bower的github上发现了两个主题,即和,也在这里,但问题不限于缩小版本

所有主题都以相同的方式结束,指出bower作为包管理器不应负责应用程序所需的自定义构建过程。但这就给开发商留下了一个问题,即必须对大部分回购协议进行保送,或者自己缩小一揽子计划的规模。有许多人在这两方面都持不同意见

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


也许我没有正确地使用它,或者它不是一个流行的问题。我不知道这是否是应该添加到bower中的某个功能,但可能其他开发人员有处理这种情况的经验?

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

我们对grunt进行了相同的设置。一旦你得到了你的配置设置,它是相当免提。即使您可以只获取常规文件或.min文件,也会有人想要concat,而有些人希望以后将它们放在不同的目录中。我认为最好是鲍尔撤销回购协议,让开发商决定如何处理。我们不把.js文件或节点模块放在源代码管理中。只有配置文件,然后在构建过程中将它们拉下来。好吧,这并不能真正做到这一点。我希望大多数软件包都使用浏览器默认设置,使用bower安装grunt任务。然后我想要一些包使用特定的文件。现在,我可以:1)有两个副本(一个通过bower安装,第二个来自我的自定义配置)或2)在每次更新和部署我的应用程序的每台机器上编辑bower.json文件。您可以使用bower.json文件中的ignore属性稍微修剪fat。添加“.json”、“.gzip”、“.map”、“.css”、“*.md”以及您可能不需要的任何其他文件。您解决了这个问题吗?对你的解决方案感兴趣,因为我有一个类似的问题。我的一个bower组件有一个糟糕的css文件,默认情况下包含在它的bower.json中,我想将其作为依赖项排除,而不必修改bower_components文件夹(因为它是.gitignored)。这是另一种选择。我想继续使用bower,而不必在所有方面都使用npm(因为bower对浏览器更有效)。坦白地说,我不理解你的问题。您必须使用一些额外的工具编译从
bower
获取的所有文件。browserify是一种选择。还有很多其他的工具。正如您所提到的,bower不应该负责定制构建过程,这是一个有效的论点。我认为browserify专用于npm模块。我使用grunt来构建模块,但是如果bower不应该用于构建,那么我不理解为什么包的bower.json文件指定在构建过程中包含哪些文件:)不,bower不是构建工具。它只是帮助获取项目的依赖项。
bower.json
中的
main
属性指定“包的主要端点”。我建议你多读一些关于grunt和bower的书,他们在责任上有很大的不同。
"main": ["./dist/js/bootstrap.js", "./dist/css/bootstrap.css", "./dist/fonts/*"]