zoukankan      html  css  js  c++  java
  • TypeScript 的尴尬:模块不如wepback完善

    同一段“导入模块”的代码,截然不同的处理

    Bug重现代码:

    void function () {
        isSupportedRange('http://static.com/1GB.bin').then(bool => {
            // ...
        });
    }();
    
    import * as http from 'http';
    import * as https from 'https';
    import { URL } from 'url';
    
    function isSupportedRange(url: URL | string): Promise<boolean> {
        // use imported module: http, https, and URL
    }
    

    Wepback:

    /* harmony import */ var http__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1);
    /* harmony import */ var http__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(http__WEBPACK_IMPORTED_MODULE_0__);
    /* harmony import */ var https__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(2);
    /* harmony import */ var https__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(https__WEBPACK_IMPORTED_MODULE_1__);
    /* harmony import */ var url__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(3);
    /* harmony import */ var url__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(url__WEBPACK_IMPORTED_MODULE_2__);
    void function () {
      isSupportedRange('http://baidu.com').then(function (bool) {
        // ...
      });
    }();
    
    // Removed
    
    function isSupportedRange(url) {
        // No problem!
    }
    

    tsc:

    "use strict";
    exports.__esModule = true;
    void function () {
        isSupportedRange('http://baidu.com').then(function (bool) {
            // ...
        });
    }();
    var http = require("http");
    var https = require("https");
    var url_1 = require("url");
    
    function isSupportedRange(url) {
        // Oops! http, https, and URL is undefined!
    }
    
  • 相关阅读:
    1065 a+b and c(64)
    1049 counting ones
    1040 the longest symmetric
    1039 course list for student
    1038 recover the smallest number
    1035 head of a gang
    1033 to fill or not to fill
    node环境下通过redis共享session记录
    vue+koa+sequlize 搭建使程序员专注业务代码开发框架---对于nunjucks引入webpack后,产生的文件缓存相关的思考(四)
    charless抓包https---记录一下菜鸡的日常
  • 原文地址:https://www.cnblogs.com/develon/p/13937161.html
Copyright © 2011-2022 走看看