2017-09-26 51 views
1

我有一个'自定义'目录,我想在其中存储对内置对象原型的任何更改。每个修改过的内置对象都有自己的文件(即custom/String.js,对String.prototype进行任何修改)。导出/导入ES6中内置对象的自定义功能?

除了这些文件,我还将有一个名为custom/All.js的文件,它将用于导出要使用的自定义功能。

All.js

export * from './String' 
export {Multiply} from './Array' 

main.js

import * from './custom/All' 

String.js

// something like this 
export String.prototype.doSomething = function() {} 

能否像这样做?

+1

所以你要导出和修改原型? – Li357

+0

@AndrewLi是的,非常。基本上我想将更改导入到字符串的原型中,而不是函数本身(如果甚至可能的话) – sookie

+0

@Rajesh号。这是更加奇怪的用法。 – Bergi

回答

6

当然it's still considered a bad idea to extend builtin prototypeseven in ES6,但如果你坚持反正这样做的,而不是一个简单易用的模块的静态辅助功能:

你不应该export什么。那些是突变,并没有任何价值。您只需要为其副作用包含模块代码。

// main.js 
import './custom'; 

// custom/index.js 
import './String'; 
import './Array'; 

// custom/String.js 
String.prototype.doSomething = function() {};