如何使用JSPM填充jQuery插件?

时间:2016-02-10 18:05:39

标签: jquery systemjs jspm

将现有项目移动到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()

未定义。关于此的文档很难找到。

1 个答案:

答案 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
};