所以在我的库文件中,我声明了这样的内容:
(function(mylib){
"use strict";
mylib.funcA = function () {return "A"};
mylib.funcB = function () {return "B"};
})(typeof mylib == "undefined" ? (this["mylib"]={}) : mylib);
//我一直在使用类似的东西,并且可以在我可以使用的浏览器中使用
<script src="mylib.js"></script>
<script>
console.log(mylib.funcA()); // outputs "A"
console.log(mylib.funcB()); // outputs "B"
</script>
//并且可以在nodejs中使用
mylib = require("mylib.js")["mylib"];
console.log(mylib.funcA()); // outputs "A"
console.log(mylib.funcB()); // outputs "B"
但是我只想拥有一个包装器方法,我可以让用户正确地声明该库并以所有常见的js风格工作。
我在堆栈溢出上看到了几种不同的答案,但是没有人给出一个简单的例子来说明这一点。帮助表示赞赏!
答案 0 :(得分:0)
您想要一个UMD模块。
UMD标准存储库中有一个适合您的需求:https://github.com/umdjs/umd/blob/master/templates/returnExports.js
此处没有信息和更多模板:https://github.com/umdjs/umd