我有一个文件需要从NPM安装的模块:
-- login.js --
require('jquery-form');
该模块依赖于window
范围内存在的jQuery变量,但是当我浏览它时,我知道我需要对它进行填充。因此我安装了browserify-shim并且正在使用它(来自package.json):
"browserify-shim": {
"./node_modules/jquery/dist/jquery.js": "jQuery"
},
但是,jquery-form
运行时,jQuery
未定义。我错过了什么?
答案 0 :(得分:1)
你需要“shim”jQuery作为jquery-form
的依赖。 如果这些都是通过npm安装的,则不需要因为browser
指令。jquery-form
在main
中没有package.json
指令您需要添加browser
指令以显示Browserify要包含在哪个文件中。
"browserify-shim": {
"jquery-form": {
"depends": ["jquery"]
},
"browserify": {
"transform": [ "browserify-shim" ]
},
"browser": {
"jquery-form": "./node_modules/jquery-form/jquery.form.js"
},
请参阅文档的this section。
答案 1 :(得分:0)
尝试:
{
"browser": {
"jquery": "./node_modules/jquery/dist/jquery.js"
},
"browserify-shim": {
"jquery": "$"
}
}
当您需要时:
var $ = require('jquery');