我正在与一个中型团队合作开发一个大型前端应用程序。到目前为止,我们一直在使用requirejs和AMD模块来管理我们的~500文件项目。由于各种原因,我们最近决定迁移到commonjs并使用NPM作为我们的包管理器。这是我的问题:
如何将随机的,单独的框架文件(也称为jquery插件)合并到我们的package.json中?
例如,我们使用此随机jquery颜色选择器https://github.com/laktek/really-simple-color-picker/blob/master/jquery.colorPicker.min.js
然而,github上的repo没有package.json,所以使用NPM内置的git awesomeness并不起作用。那我该怎么做呢?我一直试图使用它的文件:../../ 39;语法,但我认为它要我指向一个节点模块文件夹,我不知道如何最好地设置它。
奖金问题
我如何处理"垫片",例如我希望我的观点可以参考"淘汰赛#34;但实际上是引用一个本身包含淘汰赛的文件,并添加我们所有的插件和自定义优点,然后重新导出淘汰赛
感谢任何和所有帮助!
答案 0 :(得分:2)
如何将随机的,单独的框架文件(也称为jquery插件)合并到package.json中?
首先,提出问题并要求维护者支持某个包管理器。 npm会很好,但即使是凉亭也会这样做。抓住随机文件的旧时代已经很久没有了。
其次,如果作者不遵守,请考虑分发他们的代码并将其发布给npm或bower为他们/为您。考虑到npm和bower中至少有一个可用的数千个软件包,我认为这是在我的项目中使用该软件的一个重要标志。
第三个选项只是下载他们的文件并将其放入你的git存储库并通过the browser field in package.json沿着这些行引用它:
"browser": {"colorPicker": "./thirdParty/jquery.colorpicker.js"}
我如何处理“垫片”,例如我希望我的观点能够引用“淘汰赛”,但实际上是引用一个本身包含淘汰赛的文件,并添加了我们所有的插件和自定义优点,然后重新导出淘汰赛
这正是browserify-shim用作browserify转换时的功能。
有一些学习曲线和/或挫折处理所有生态系统和黑客,但最终我已经能够使用正确的browserify和browserify-shim配置几乎所有工作,包括jquery,jquery插件,angularjs,以及几乎任何来自凉亭的包裹。
如果您遇到困难,请发布一个单独的问题,详细说明您的陷阱。