繁体   English   中英

扩展JavaScript库的最佳方法?

[英]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的

如果您的目标是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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM