簡體   English   中英

聲明可在nodejs,瀏覽器,commonJS和AMD中工作的javascript獨立庫的正確方法是什么?

[英]What is the proper way to declare a javascript standalone library that works in nodejs, browser, commonJS, and AMD?

因此,在我的庫文件中,我聲明了以下內容:

(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版本中使用。

我已經在堆棧溢出問題上看到了幾個不同的答案,但是沒有人提供一個簡單的示例說明如何做到這一點。 幫助贊賞!

您需要一個UMD模塊。

UMD標准存儲庫中有一個可以滿足您的需求的存儲庫: https : //github.com/umdjs/umd/blob/master/templates/returnExports.js

Nore信息和更多模板在這里: https : //github.com/umdjs/umd

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM