我已将 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的新手,搜索过很多但与jquery-plugin发布相关的信息非常少。任何帮助表示赞赏。
答案 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...
}));