我有以下代码:
var $ = require('jquery');
var velocity = require('velocity-animate');
module.exports = function () {
function togglePanel () {
$('.trip-assist-search-panel__container').velocity({
height: '0px'
},{
duration: 400
});
}
return {
togglePanel: togglePanel
};
}();
当togglePanel()
被触发时,会抛出以下错误:
未捕获的TypeError:$(...)。velocity不是函数
通常通过确保在需要它的库之前加载JQuery来解决这个问题。但是,我... ..
var $ = require('jquery'); // first
var velocity = require('velocity-animate'); // second
那么..给出了什么?
答案 0 :(得分:5)
模块加载器:Browserify
如果你使用Velocity和jQuery,你必须在Velocity之前需要jQuery,你必须分配 jQuery全局在window对象上:window.jQuery = window.$ = require("path/to/jquery-x.x.x.js"); require("path/to/velocity.js"); // Optional: If you're using the UI pack, require it after Velocity. (You don't need to assign it to a variable.) require("path/to/velocity.ui.js"); /* Your app code here. */ $("body").velocity({ opacity: 0.5 });
您只是将jQuery分配给本地 $
变量。