Angular 6 :: 找不到名称为'require'的变量

3

我的项目是使用angular cli [版本-6.1.3]创建的。 我安装了npm模块 - is-reachable 并在我的代码中使用它 -

const isReachable = require('is-reachable');

appDetailsFromJson.forEach(app => {
        isReachable(app.server).then(reachable => {
          console.log('Hey --> ',reachable);
            //=> true
      });

然而,在运行该项目时,它抛出异常-错误TS2304:找不到名称'require'。

这是什么根本原因,正确的方式是如何在Angular 6中导入库?

1个回答

4

我来自NPM页面的isReachable,它说(我强调):

适用于Node.js和浏览器(需要使用browserify)。

这意味着它在Angular应用程序中本地运行的可能性较小,因为Angular CLI使用webpack和标准的typescript编译器(而不是browserify)来解析导入和包依赖关系。

通常,在Angular中导入使用标准的ES6风格的'import'语句, 例如:

import { isReachable } from 'is-reachable';

... 或者 ...

import * as isReachable from 'is-reachable';

如果is-reachable本身没有使用任何进一步的require()语句,那么这可能会起作用,但是如果它在自己的代码中使用require来引入其依赖项,你将会遇到很多困难,甚至最好找到其他方式来满足您的要求。

@deb 你能解决这个问题吗? - Mark Hughes

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接