在npm上获取包安装的“ReferenceError:jQuery未定义”

时间:2015-10-26 18:51:25

标签: node.js jquery-plugins npm npm-publish npm-install

我已将 jRCarousel jQuery插件发布到 npm 。我最初得到的错误名称不能包含大写字母,所以我在package.json中更改了它然后发布它已经发布但在npm网站上当我尝试“试一试”选项时我得到了“ReferenceError:jQuery is没有定义“错误。不确定为什么是错误,因为我在package.json中指定了依赖项。

此外,如果只对package.json进行任何更改而不对包或模块中的任何其他文件进行任何更改,如何在npm上仅更新package.json文件,或者是否必须将其发布为新版本号(我想避免的。)

这是我的package.json

{
  "name": "jrcarousel",
  "version": "1.0.0",
  "description": "jRCarousel - jQuery Responsive Carousel,
                  a modern, lightweight responsive carousel plugin",
  "main": "dist/jRCarousel.min.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "repository": {
    "type": "git",
    "url": "https://github.com/vinayakjadhav/jRCarousel.git"
  },
  "keywords": [
    "jquery-plugin",
    "ecosystem:jquery",
    "jQuery Resposive Carousel",
    "jQuery slider",
    "Responsive Slider",
    "Carousel",
    "Slider",
    "Gallery",
    "lightweight"
  ],
  "author": "Vinayak Rangnathrao Jadhav",
  "license": "MIT",
  "dependencies": {
    "jquery": "^1.9.1"
  },
  "bugs": {
    "url": "https://github.com/vinayakjadhav/jRCarousel/issues"
  },
  "homepage": "https://github.com/vinayakjadhav/jRCarousel",
  "devDependencies": {}
}

npm package

Github Repository

TRY IT OUT Link

注意:我是npm的新手,搜索过很多但与jquery-plugin发布相关的信息非常少。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:3)

使用此代码包装您的插件。它是UMD模式,允许您的插件在浏览器和大多数模块捆绑器中运行。

(function (root, factory) {
    if (typeof define === "function" && define.amd) {
        define(["jquery"], factory);
    } else if (typeof exports === "object") {
        module.exports = factory(require("jquery"));
    } else {
        factory(root.jQuery);
    }
}(this, function ($) { 
    ...your plugin code goes here...
}));