因此,我试图将第三方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
。
我认为我不知该如何安装这些库,但是我不知道该怎么办。我对Mouldle Bundles有所了解,但我认为Stenciljs编译器已经附带了它。
我试图在ES6项目中导入旧的JS代码是一个问题吗?
感谢您的帮助
答案 0 :(得分:1)
模板组件是用TypeScript编写的,因此您可以使用import
来引入依赖关系:
import Parser from 'rss-parser';
更多有关TypeScript模块的信息:https://www.typescriptlang.org/docs/handbook/modules.html
答案 1 :(得分:0)
var Parser = require('rss-parser')是requireJS语法,不适用于模具。 您需要使用以下方式之一导入它:
import Parser from 'rss-parser';
import { Parser } from 'rss-parser';
import 'rss-parser';
这完全取决于模块如何导出变量。
您可能需要在stencil.config.ts文件中做的另一件事是
nodeResolve: true