我对https://github.com/leongersen/noUiSlider有意见
使用requireJS,config.js和build.js
paths: {
nouislider: '../core/lib/nouislider/nouislider',
},
shim: {
nouislider: {
deps: ['jquery'],
exports: '$'
},
},剧本:
require(['jquery', 'nouislider'], function ($) {
"use strict";
$(function () {
var range = document.getElementById('range');
range.style.height = '400px';
range.style.margin = '0 auto 30px';
noUiSlider.create(range, {
connect: true,
behaviour: 'tap',
start: [ 500, 4000 ],
range: {
// Starting at 500, step the value by 500,
// until 4000 is reached. From there, step by 1000.
'min': [ 0 ],
'10%': [ 500, 500 ],
'50%': [ 4000, 1000 ],
'max': [ 10000 ]
}
});
});
});在我的网站上,我有一个错误ReferenceError: noUiSlider没有定义
有人有同样的问题吗?
发布于 2016-12-07 17:01:32
你需要这样做:
require(['jquery', 'nouislider'], function ($, noUiSlider) {我刚刚在回调中添加了最后一个参数。如果您查看它的源代码,您将发现它是否存在AMD加载程序(检查define是一个函数并在其上具有属性amd ),如果是的话,它会调用define。因此,您必须像我上面展示的那样使用模块的值,而不是依赖noUiSlider在全局空间中的存在。
顺便说一句,为调用shim的代码设置一个define是完全无用的。shim只适用于不使用define的代码。因此,您应该删除问题中显示的shim。
https://stackoverflow.com/questions/41023120
复制相似问题