如何解决Getter函数解决ES3中Webpack和声导出的解决方法
我有一些用ES6编写的源文件(类,导入,导出默认值...),我正在尝试创建一个捆绑包,该捆绑包将在Web3的ES3 javascript环境中执行。
环境是经典的ASP,以JScript作为脚本引擎。
在捆绑软件之前执行了polyfill,其中之一是Object.defineProperty
。
现在,由于我使用的是es6 import
和export
,因此Webpack使用getter定义模块:
// ...
/******/ // define getter function for harmony exports
/******/ __webpack_require__.d = function(exports,name,getter){
/******/ if(!__webpack_require__.o(exports,name)) {
/******/ Object.defineProperty(exports,{ enumerable: true,get: getter });
/******/ }
/******/ };
// ...
这会导致错误,因为es3不支持访问器。我检查了生成的包,并决定通过获取值并将其直接分配给Object.defineProperty
polyfill中的属性来解决此问题是安全的:
Object.defineProperty = function (target,key,descriptor) {
// ...
target[key]= descriptor.get();
// ...
}
现在一切都按预期进行,我对此解决方案感到满意。
我的问题是:此解决方案何时终止?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。