找不到模块:错误:在Angular 6中无法解析“ ./package”

时间:2018-08-13 13:26:54

标签: angular angular6 cheerio

我正在使用Angular 6scraperjs

在我的组件文件中,使用了示例中给出的代码,如

import { Component, OnInit } from '@angular/core';

import scraperjs from 'scraperjs';

@Component({
  selector: 'app-express',
  templateUrl: './express.component.html',
  styleUrls: ['./express.component.css']
})
export class ExpressComponent implements OnInit {

  constructor() { }

  ngOnInit() {
    this.aliExpress();
  }

  aliExpress() {
    console.log('loaded ali express');

    scrapperjs.StaticScraper.create('https://news.ycombinator.com')
      .scrape(function ($) {
        return $('.title a').map(function () {
          return $(this).text();
        }).get();
      }).then(function (news) {
      console.log(news);
    });
  }

}

但是它给出了错误

Failed to compile.

./node_modules/cheerio/index.js 
Module not found: Error: Can't resolve './package' in '/home/user/code/angular/ali-express/node_modules/cheerio'

3 个答案:

答案 0 :(得分:0)

运行

npm install

命令安装相关软件包。 我认为相关软件包没有正确安装。

答案 1 :(得分:0)

您正在使用require()加载文件,这不是在Angular中加载文件的标准方法。 在这里,它尝试在运行时加载,但找不到。

请尝试通过导入加载它。如果还是不能,请尝试将其加载到main.ts中。我不确定,但是我以相同的方式加载了Hammerjs。

答案 2 :(得分:0)

从解决方案文件夹结构中删除nodeModules,然后尝试安装 npm-install