尝试将不可用的插件集成到我的Meteor应用程序中。
以下是代码:
import $ from "meteor/jquery";
import jQuery from "meteor/jquery"
(function($, window, document){
'use strict';
var doc = $(document);
window.notifyAlert = function(){
var $this = $(this),
onload = $this.data('onload');
if(onload !== undefined) {
setTimeout(function(){
notifyNow($this);
}, 800);
}
$this.on('click', function (e) {
e.preventDefault();
notifyNow($this);
});
}
function notifyNow($element) {
var message = $element.data('message'),
options = $element.data('options');
if(!message)
$.error('Notify: No message specified');
$.notify(message, options || {});
}
}(jQuery, window, document));
这是错误:
Uncaught TypeError: $ is not a function
我将函数包装在jQuery对象的上下文中立即调用,因为我认为这肯定有助于解决问题并防止干扰全局命名空间,但是没有,同样的问题。
如果您采取立即调用,显然它也无法正常工作。所以我完全迷失在这里做什么。
在使用Meteor和其他任何地方时,我只有这个错误。
答案 0 :(得分:0)
可以将$
和jQuery
作为包导入的属性进行访问,因此请使用括号表示法导入它们:
import {$, jQuery} from 'meteor/jquery';
请注意,根据您的文件加载顺序,您也可以从导入文件中的窗口对象访问它:
const {$} = window;