systemjs дублирует вызовы libs без расширения ".js" - PullRequest
0 голосов
/ 14 мая 2019

Я перевожу устаревший угловой проект 4 в угловой 7. Я использую systemjs для загрузки модуля. Но у меня есть проблема с загрузкой rxjs, потому что systemjs загружает ее безо всякой причины.

Я пытался использовать новую версию systemjs, но это совсем не помогло.

Мои зависимости package.json выглядят так

"dependencies": {
    "@angular-devkit/architect": {
      "version": "0.13.9",
      "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.13.9.tgz",
      "integrity": "sha512-EAFtCs9dsGhpMRC45PoYsrkiExpWz9Ax15qXfzwdDRacz5DmdOVt+QpkLW1beUOwiyj/bhFyj23eaONK2RTn/w==",
      "requires": {
        "@angular-devkit/core": "7.3.9",
        "rxjs": "6.3.3"
      },
      "dependencies": {
        "rxjs": {
          "version": "6.3.3",
          "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.3.3.tgz",
          "integrity": "sha512-JTWmoY9tWCs7zvIk/CvRjhjGaOd+OVBM987mxFo+OW66cGpdKjZcpmc74ES1sB//7Kl/PAe8+wEakuhG4pcgOw==",
          "requires": {
            "tslib": "^1.9.0"
          }
        }
      }
    }

И мой config.js для sytemjs указан ниже:

...
System.config( {
        baseURL: "",
        defaultExtension: '.js',
        paths: {
            // Paths serve as alias
            "npm:": "node_modules/",
            "libs:": "libs/"
        },
        // Map tells the System loader where to look for things
        map: {
            // Our app is within the app folder
            app: "app",

            // Angular bundles
            "@angular/core": "npm:@angular/core/bundles/core.umd.js",
            "@angular/common": "npm:@angular/common/bundles/common.umd.js",
            "@angular/compiler": "npm:@angular/compiler/bundles/compiler.umd.js",
            "@angular/platform-browser": "npm:@angular/platform-browser/bundles/platform-browser.umd.js",
            "@angular/platform-browser-dynamic": "npm:@angular/platform-browser-dynamic/bundles/platform-browser-dynamic.umd.js",
            "@angular/common/http": "npm:@angular/common/bundles/common-http.umd.js",
            "@angular/router": "npm:@angular/router/bundles/router.umd.js",
            "@angular/router/upgrade": "npm:@angular/router/bundles/router-upgrade.umd.js",
            "@angular/forms": "npm:@angular/forms/bundles/forms.umd.js",

            // Other Core libraries
            "core-js": "npm:core-js",
            "classlist.js": "npm:classlist.js",
            "whatwg-fetch": "npm:whatwg-fetch",
            "zone.js": "npm:zone.js",

            "rxjs": "npm:rxjs",
            "rxjs/operators": "npm:rxjs.operators",

            // Project libraries
            "events": "npm:events/events.js",
            "echarts": "npm:echarts/dist/echarts.js",
            "moment": "npm:moment/moment.js",

            // Custom libraries
            "typescript": "npm:typescript/lib/typescript.js",
            "angular2-text-mask": "npm:angular2-text-mask/dist/angular2TextMask.js",
            "text-mask-core": "npm:text-mask-core"
        },
        // Packages tells the System loader how to load when no filename and/or no extension
        packages: {
            "core-js": {
                defaultExtension: "js"
            },
            "classlist.js": {
                defaultExtension: "js"
            },
            "whatwg-fetch": {
                defaultExtension: "js"
            },
            "zone.js": {
                defaultExtension: "js"
            },
            rxjs: {
                defaultExtension: "js"
            },
            "rxjs/operators": {
                defaultExtension: "js"
            },
            events: {
                defaultExtension: "js"
            },
            echarts: {
                defaultExtension: "js"
            },
            moment: {
                defaultExtension: "js"
            },
            "angular2-text-mask": {
                defaultExtension: "js"
            },
            "text-mask-core": {
                defaultExtension: "js"
            },
            app: {
                main: "app/main.js",
                defaultExtension: "js"
            }
        },
        transpiler: "typescript"
    } );
})( this );

И когда страница загружается, я вижу эти запросы без расширения .js. Ответом на запрос без расширения .js является html-страница. Вот почему мое приложение падает.

...