将现有项目移动到jspm,我有一些自定义jQuery插件,例如
// path/to/mycustomplugin.js
$.fn.myCustomPlugin = function (options) {
//something here
};
也就是说,它没有以任何方式向jspm注册。我以为我能够添加一个垫片:
// config.js
shim: {
"packages": {
"customplugin": {
"main": "customplugin",
"format": "global",
"deps": ["jquery"],
"exports": "$.myCustomPlugin"
}
}
},
map : {
"customplugin" : "path/to/mycustomplugin"
}
然后在应用程序中导入:
import customplugin from "customplugin"
它不起作用 - 文件永远不会加载,
$(element).myCustomPlugin()
未定义。关于此的文档很难找到。
答案 0 :(得分:0)
好像你有一个错误的垫片。请尝试以下方法:
{
"jspm": {
"dependencies": {
"jquery": "npm:jquery@^2.2.0",
(...)
},
"shim": {
"custom-jquery": {
"deps": ["jquery"],
"exports": "$"
}
},
(...)
}
}
此外,在您的自定义插件中,请勿忘记导入查询:
import $ from 'jquery';
$.fn.myCustomPlugin = function (options) {
//something here
};