1

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

另外,如果只有 package.json 而不是 package 或 module 中的任何其他文件有任何更改,我怎样才能只更新 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 包

Github 存储库

试试看链接

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

4

1 回答 1

4

用这段代码包装你的插件。它是 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...
}));
于 2015-10-26T19:57:37.023 回答