[英]Best Way to Extend a JavaScript Library?
我在使用Python很長一段時間后回到JavaScript,所以我忘記了一些Javascript最佳實踐。
我想使用預定義的數據結構,例如bucket-js提供的數據結構。 但是,我注意到bucket-js沒有為其對象提供太多的toString()方法; 所以我想提供自己的方法。
擴展此類型的庫對象的最佳方法是什么,以便擴展在整個項目中可用,但不涉及更改庫源代碼?
如果您的目標環境是瀏覽器,那么只需將擴展庫對象的代碼放在代碼的其余部分之上 。
<script src="bucket-js"></script>
<script>
buckets.Set.prototype.toString = function() {
//...
}
// Rest of your code
</script>
如果您的目標是Node.js,或瀏覽器通過類似於基於模塊的組織使用的Browserify ,那么一種方法是創建自己的修補模塊,修補庫對象然后將其傳回。 然后,您需要此模塊而不是香草模塊。
更多信息: 在Node.js中修補猴子 。
myPatchedBucketJS / index.js
var bucket = require('bucket-js');
buckets.Set.prototype.toString = function() {
//...
}
module.exports = bucket;
main.js
var bucket = require('myPatchedBucketJS');
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.