代码之家  ›  专栏  ›  技术社区  ›  Paco Zevallos

/node_modules/rxjs/_esm5/operators/index.js angular 6 ng build中的错误--prod of/resolve

  •  1
  • Paco Zevallos  · 技术社区  · 7 年前

    我的应用程序在本地运行良好,但当我想与 ng build --prod 我得到以下错误:

    知道会发生什么吗?

    /node_modules/rxjs/_esm5/operators/index.js中的错误 找不到模块:错误:无法解析“../internal/operators/endWith”in/Users/../node\u modules/rxjs/\u esm5/operators”

    包.json

    {
    "name": "myApp",
    "version": "0.0.0",
    "scripts": {
      "ng": "ng",
      "start": "ng serve",
      "build": "ng build",
      "test": "ng test",
      "lint": "ng lint",
      "e2e": "ng e2e"
    },
    "private": true,
    "dependencies": {
      "@angular/animations": "6.0.5",
      "@angular/cdk": "^6.3.3",
      "@angular/common": "^6.0.0",
      "@angular/compiler": "^6.0.0",
      "@angular/core": "^6.0.0",
      "@angular/forms": "^6.0.0",
      "@angular/http": "^6.0.0",
      "@angular/material": "^6.3.3",
      "@angular/platform-browser": "^6.0.0",
      "@angular/platform-browser-dynamic": "^6.0.0",
      "@angular/router": "^6.0.0",
      "angularfire2": "^5.0.0-rc.10",
      "bootstrap": "^4.1.1",
      "core-js": "^2.5.4",
      "firebase": "^5.0.4",
      "jquery": "^3.3.1",
      "popper.js": "^1.14.3",
      "rxjs": "^6.0.0",
      "rxjs-compat": "^6.2.2",
      "zone.js": "^0.8.26"
    },
    "devDependencies": {
      "@angular/compiler-cli": "^6.0.0",
      "@angular-devkit/build-angular": "~0.6.0",
      "typescript": "~2.7.2",
      "@angular/cli": "~6.0.0",
      "@angular/language-service": "^6.0.0",
      "@types/jasmine": "~2.8.6",
      "@types/jasminewd2": "~2.0.3",
      "@types/node": "~8.9.4",
      "codelyzer": "~4.2.1",
      "jasmine-core": "~2.99.1",
      "jasmine-spec-reporter": "~4.2.1",
      "karma": "~1.7.1",
      "karma-chrome-launcher": "~2.2.0",
      "karma-coverage-istanbul-reporter": "~1.4.2",
      "karma-jasmine": "~1.1.1",
      "karma-jasmine-html-reporter": "^0.2.2",
      "protractor": "~5.3.0",
      "ts-node": "~5.0.1",
      "tslint": "~5.9.1"
    }
    }
    

    这里是我使用rxjs的地方

    productos.service.ts产品服务

    import { of } from 'rxjs';
    ...
    getProductos() {
      return of(this.productos);
    }
    
    getProducto<Producto>(id) {
      return of(this.productos.find(p => p.id === id));
    }
    

    producto.resolver.service.ts文件

    import { Injectable } from '@angular/core';
    import { Router, Resolve, RouterStateSnapshot,
      ActivatedRouteSnapshot } from '@angular/router';
    import { Observable } from 'rxjs';
    import { map, take } from 'rxjs/operators';
    import { Producto, ProductosService } from './productos.service';
    
    @Injectable({
      providedIn: 'root'
    })
    export class ProductoResolver implements Resolve<Producto> {
    
    constructor(private ps: ProductosService, private router: Router) { }
    
    resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): 
    Observable<Producto> {
    let id = route.paramMap.get('id');
    
    return this.ps.getProducto(id).pipe(
      take(1),
      map(producto => {
        if (producto) {
          return producto;
        } else { // id not found
          console.error('id not found');
          this.router.navigate(['/productos']);
          return null;
        }
      })
    );
    }
    }
    
    1 回复  |  直到 7 年前
        1
  •  13
  •   eduPeeth    7 年前

    看来问题是 rxjs 模块损坏您可以尝试以下方法来修复-

    1. 尝试 npm cache clean --force 如果不起作用,则手动删除 %appdata%\npm-cache 文件夹。

    2. 从项目中删除节点模块。

    3. 使用重新安装所有节点模块- npm install

        2
  •  0
  •   Srikrushna    6 年前

    从较低位置迁移到较高位置时将发生此错误 全球范围内的角度版本,但您的本地角度版本 与上一个相同

    或者

    由于某些原因,rxjs可能已损坏

    或者

    您可以安装新版本的rxjs,但不清除缓存使用 下面的步骤,可以解决您的问题

    步骤1 :删除缓存 npm cache clean --force

    步骤2 :删除节点模块 rm -rf node_modules (您可以手动删除)

    步骤3 :再次安装节点模块 npm install npm i

    推荐文章