为browserify提供jQuery节点

我有一个文件,需要我从NPM安装的模块:

-- login.js -- require('jquery-form'); 

该模块依赖于window范围内存在的jQueryvariables,但由于我在浏览这个,我知道我需要填充它。 因此我已经安装了browserify-shim并且像这样使用它(来自package.json):

 "browserify-shim": { "./node_modules/jquery/dist/jquery.js": "jQuery" }, 

但是,当jquery-form运行, jQuery没有定义。 我错过了什么?

您需要将“Shim”jQuery作为jquery-form的依赖项。 如果这些都是通过npm安装的,则不需要browser指令。 由于jquery-formpackage.json中没有main指令,因此需要添加browser指令来显示Browserify包含哪个文件。

 "browserify-shim": { "jquery-form": { "depends": ["jquery"] }, "browserify": { "transform": [ "browserify-shim" ] }, "browser": { "jquery-form": "./node_modules/jquery-form/jquery.form.js" }, 

请参阅文档的这一部分 。

尝试:

 { "browser": { "jquery": "./node_modules/jquery/dist/jquery.js" }, "browserify-shim": { "jquery": "$" } } 

当你需要:

 var $ = require('jquery');