Articles of browserify shim

browserify-shim在var范围内不导出隐式全局variables

根据browserify-shim文档,可以通过在package.json使用以下语法来指定哪些全局variables需要通过传统模块公开: { "browserify-shim": { "legacyModule": "myVar" } } 我希望传统模块可以通过require('legacyModule')和window.myVar 。 根据我的经验,如果我尝试填充的非commonjs模块使用window.myVar = x或只是myVar = x ,则该模块将全局公开,并且可通过require()按预期方式获得。 但是 ,当传统模块使用var myVar = x ,这是因为模块只能通过require('legacyModule')而不是通过window.myVar 。 browserify-shim文档指出: 此外,它处理以下真实世界的边缘情况: 在脚本级别声明一个var foo = …并假定它被附加到window对象的模块。 因为他们唯一的办法是在全球范围内 – “啊哈,不…?

如何处理非SPA使用的项目级捆绑?

我正在学习browserify,我正在尝试做两件基本的事情: 转换(通过填充)非CommonJS模块,便于使用和依赖性跟踪 捆绑项目特定的库 我发现了一个如何做到这一切的工作stream程,并通过Gulp实现了自动化。 这工作,并产生正确的输出,但我很好奇,如果它可以变得更简单。 似乎我必须在基于项目的包上重复大量的configuration。 这是一个工作的例子: 的package.json 无效的评论添加澄清 { //project info and dependencies omitted //https://github.com/substack/node-browserify#browser-field "browser": { //tell browserify about some of my libraries and where they reside "jquery": "./bower_components/jquery/dist/jquery.js", "bootstrap": "./bower_components/bootstrap/dist/js/bootstrap.js" }, "browserify": { //https://github.com/substack/node-browserify#browserifytransform "transform": [ "browserify-shim" ] }, "browserify-shim": { //shim the modules defined above as needed "jquery": { "exports": "$" […]

使用Browserify和jQuery插件

一些简要的背景:我使用的是browserify和browserify-shim(和gulp来构build)来创build一个web应用程序。 在这个问题之前,我require从npm的jQuery,所以我没有问题。 一旦我开始做一些优化,我意识到包括jQuery在内的捆绑是多么的庞大。 所以,现在我从CDN抓取jQuery,并将其放在bundle.js文件之前。 但我有问题宣布jQuery作为一个全球性的,适当shimming我的jQuery插件在browserify和browserify-shim。 当我运行gulpbuild立,我不断得到相同的错误: [gulp] gulp-notify: [Compile Error] module "jquery" not found from "/Volumes/Chetan/Users/cshenoy/Projects/urbanstems-node/app/plugins/jquery.inview.js" browserify-shim看起来并不像jQuery那样是全球化的。 作为参考,我使用了inview插件 。 这里是我的package.json和相关的部分 "browser": { "inview": "./app/plugins/jquery.inview.js" }, "browserify-shim": { "jquery": "global:jQuery", "inview": { "depends": [ "jquery" ] } } 让我知道我还可以包括哪些内容来帮助诊断错误。

使用npm jQuery和非npm插件的browserify

我正在使用browserify捆绑前端代码。 到目前为止,这是非常棒的,但是我一直在混合npm和非npm包装方面遇到困难。 例如,使用nQuery版本的jQuery与非CJS版本的jQuery插件。 我目前的解决scheme是使用package.json中的browser键指向jQuery的dist,然后使用browserify-shim将其添加为插件的依赖项。 有没有比我目前有更干净的方式来做到这一点? 编辑:我目前正在尝试使用npm和package.json来pipe理我所有的依赖项,所以我不想在这个项目上使用bower。 叫我疯了:) 的package.json "dependencies": { "jquery": "~2.1.0", "browserify": "latest", "browserify-shim": "^3.5.0", "jquery-waypoints": "git@github.com:imakewebthings/jquery-waypoints.git", "jquery-validation": "git://github.com/jzaefferer/jquery-validation" }, "browser": { "jquery": "./node_modules/jquery/dist/jquery.js", "jquery-waypoints": "./node_modules/jquery-waypoints/waypoints.js", "jquery-validate": "./node_modules/jquery-validation/build/release.js" }, "browserify-shim": { "jquery": "$", "jquery-waypoints": { "depends": [ "jquery" ] }, "jquery-validate": { "depends": [ "jquery" ] } }, "browserify": { "transform": [ "browserify-shim" ] […]