require - Angular 6::找不到名称 'require'

标签 require angular6

我的项目是使用 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 中导入库的正确方法是什么?

最佳答案

来自 NPM page of isReachable它说(我的重点):

Works in Node.js and the browser (with browserify).



这意味着它不太可能在 Angular 应用程序中原生工作,因为 Angular CLI 使用 webpack 和标准 typescript 编译器(而不是 browserify)来解决导入和包依赖关系。

一般来说,Angular 中的导入是 standard ES6-style 'import' statements ,例如:
import { isReachable } from 'is-reachable';

... 或者 ...
import * as isReachable from 'is-reachable';

如果 is-reachable 本身不使用任何进一步的 require() 语句,这可能会起作用,但如果它在自己的代码中使用 require 来引入其依赖项,那么让它工作起来会遇到很多困难- 几乎可以肯定,找到一种不同的方法来满足您的要求会更好。

关于require - Angular 6::找不到名称 'require',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51875235/

相关文章:

javascript - NW.js中通过require调用函数

Angular2 + AFrame : registerComponent

angular - 错误 : Schema validation failed with the following errors: Data path "" should NOT have additional properties(project)

jquery - 类型 'modal' Angular6 上不存在属性 'JQuery'

javascript - Angular 2+ 检测服务内部的对象属性更改

requirejs - Karma/Jasmine 测试失败,错误为 : 'Uncaught Error: Module name "simple_test. js“尚未加载上下文 : _. 使用 require([])”

PHP - 具有相对路径的 include() 或 require() 在 Windows 上不起作用,即使在附加 __DIR__ 时也是如此

PHP require 语句 - 失败,但抛出 E_WARNING 而不是 E_COMPILE_ERROR

mysql - 使用express js、node js和Angular 6以及mysql数据库从数据库进行电子邮件验证

angular - Angular 报告进度返回上传文件总数而不是进度