Я обновлял нашу сборку Angular 5 до 7, и после установки webpack 4, rxjs 6.3.3 и angular 7.0.3, а также позаботился о зависимостях, я получил пакет для компиляции.Однако эта трудно прослеживаемая ошибка возникает при попытке привязать компонент приложения к его селектору.
t_Host.ngfactory.js? [sm]:1 ERROR TypeError: (intermediate value).share is not a function at new t (platform-browser-dynamic.js:314)
Вот мой файл main.ts (файл, который загружает мой компонент):
import { tap, mapTo, share } from 'rxjs/operators';
import { platformBrowserDynamic } from '@angular/platform-
browser-dynamic';
import { AppModule } from './app.module';
const platform = platformBrowserDynamic();
platform.bootstrapModule(AppModule);
Вот мой файл vendor.ts:
import '@angular/platform-browser';
import '@angular/platform-browser-dynamic';
import '@angular/core';
import '@angular/common';
import '@angular/forms';
import '@angular/http';
import '@angular/router';
import '@ng-bootstrap/ng-bootstrap';
import 'ngx-scrollspy';
import 'rxjs/operators/map';
import 'rxjs/operators/mergeMap';
import 'rxjs/operators/share';
Вот импорт сгенерированного скрипта головы (похоже, в правильном порядке):
<script type="text/javascript" src="0.chunk.js" defer> </script>
<script type="text/javascript" src="polyfills.bundle.js" defer></script>
<script type="text/javascript" src="vendor.bundle.js" defer></script>
<script type="text/javascript" src="main.bundle.js" defer></script></head>
и, наконец, вот соответствующие части пакета. json:
"dependencies": {
...
"@angular/animations": "7.0.4",
"@angular/cli": "7.0.6",
"@angular/common": "7.0.4",
"@angular/compiler": "7.0.4",
"@angular/core": "7.0.4",
"@angular/forms": "7.0.4",
"@angular/http": "7.0.4",
"@angular/platform-browser": "7.0.4",
"@angular/platform-browser-dynamic": "7.0.4",
"@angular/platform-server": "7.0.4",
"@angular/router": "7.0.4",
"@angular/upgrade": "7.0.4",
...
"rxjs": "6.3.3",
"rxjs-compat": "6.3.3",
...
"devDependencies": {
...
"@ngtools/webpack": "7.0.6",
"awesome-typescript-loader": "5.2.1",
...
"typescript": "3.1.1",
"webpack": "4.26.0",
"webpack-cli": "3.1.2",
"webpack-dev-middleware": "3.4.0",
"webpack-dev-server": "3.1.10",
"webpack-md5-hash": "0.0.5",
"webpack-merge": "1.0.1"
...
}
Обновление: я попытался использовать найденный здесь rxjs linter: https://github.com/ReactiveX/rxjs-tslint, и это приводит к 'Не удается найти ни одного возможногомиграции.Поэтому я предполагаю, что я мигрировал правильно.