Импорт сторонних библиотек в проект Stenciljs - PullRequest
0 голосов
/ 11 января 2019

Итак, я пытаюсь импортировать сторонний модуль npm 'rss-parser' в мой проект Stenciljs. Я пробовал как в официальной документации:


    let Parser = require('rss-parser');
    let parser = new Parser();

    (async () => {

      let feed = await parser.parseURL('https://www.reddit.com/.rss');
      console.log(feed.title);

      feed.items.forEach(item => {
        console.log(item.title + ':' + item.link)
      });

    })();

Я получил ошибку: Can't find variable: require.

Я думаю, что мне как-то не хватает, как мне нужно установить эти библиотеки, но я не могу понять, как. Я хорошо разбираюсь в пакетах moudle, но я подумал, что это уже идет с компилятором Stenciljs.

Является ли проблемой то, что я пытаюсь импортировать старый код JS в проект ES6?

Спасибо за вашу помощь

Ответы [ 2 ]

0 голосов
/ 19 января 2019

var Parser = require ('rss-parser') - это синтаксис requireJS, который не будет работать с трафаретом. Вам необходимо импортировать его одним из следующих способов:

import Parser from 'rss-parser';

import { Parser } from 'rss-parser';

import 'rss-parser';

И это зависит только от того, как модуль экспортировал переменную.

Еще одна вещь, которую вам может понадобиться сделать в файле stencil.config.ts, это установить

nodeResolve: true
0 голосов
/ 11 января 2019

Компоненты трафарета написаны на TypeScript, поэтому вы используете import для получения зависимостей:

import Parser from 'rss-parser';

Подробнее о модулях TypeScript здесь: https://www.typescriptlang.org/docs/handbook/modules.html

...