为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-form
在package.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');