sat*_*sat 10 browserify browserify-shim
我是浏览器的新手,虽然它的好处似乎很有吸引力但我的用法并不完全清楚.
我有几个问题,希望有人能澄清一下.
我看过有关在package.json中使用browserify-shim的博客帖子,包括第三方库,如jquery和bootstrap.我也看过使用gulp等工具生成捆绑文件的帖子.我似乎无法找到一个很好的答案,如果像gulp这样的工具能够自动化这个过程,为什么需要使用browserify-shim.有人可以解释一下吗?为什么甚至需要browserify-shim?我觉得gulp解决方案有点干净,虽然更多涉及.它不会污染package.json与browserify特定的东西,这是一个构建的东西,因此与gulp(只是我的个人意见)一起
如何处理不在npm但不公开的第三方图书馆?例如,我们从第三方购买脚本.该脚本不是任何常见的js,而是具有一些依赖性的常规js文件(例如,在jquery和下划线上).
sup*_*rEb 17
Browserify让您了解Node的世界并将其捆绑以便传送到浏览器.它了解Node模块,它通过CommonJSrequire语句定义依赖关系.
但是如果你有一些JS代码或库没有被定义为Node模块并且不支持CommonJS呢?输入browserify-shim.它为任何脚本提供了一个shim包装器,例如您的私有第三方脚本,因此可以将其定义为Browserify可以理解的Node模块.
使用browserify-垫片的是完全垂直于如何在执行Browserify.基本上有两种选择:A)使用Browserify的命令行API或B)使用Browserify的JS API.
使用像Gulp这样的构建工具意味着第二个选项,因为您在Gulp构建脚本(即gulpfile.js)中使用Browserify的JS API.很多人更喜欢使用Gulp,因为它有一个很好的插件生态系统,可以让你做更多的事情,而不仅仅是调用Browserify(例如编译CoffeeScript,编译SASS,运行JSHint等).
那么,回答你的具体问题:
只有当您的JS代码未编写为需要通过Browserify捆绑的Node/CommonJS模块时,才需要Browserify-shim .为此,您需要告诉browserify-shim在package.json中将哪些文件作为模块(以及它们具有哪些依赖项)进行填充.请注意,这与Gulp完全无关; 无论你是否使用Gulp,你都需要它.
你描述的是browserify-shim的完美用例.将您的第三方脚本放入项目中,根据b-shim的文档将文件配置为package.json中的模块,将require它们放在代码中,然后执行Browserify将它们与您的代码捆绑在一起.你也可以单独捆绑它们,把它们放在自己的项目中等等 - 但是你想要构建它.
有几点需要注意:
window(这很容易但不推荐)或拆分编码成单独的文件/模块.| 归档时间: |
|
| 查看次数: |
1810 次 |
| 最近记录: |