Angular 6-找不到模块:错误:无法解析“ http”

时间:2019-01-11 08:34:03

标签: angular angular6 tin-can-api

我正在尝试使用角度6中的TinCanJS库

github project

我使用npm install tincanjs --save

安装了软件包

我将文件导入angular.json中,如下所示:

"scripts": [
              "./node_modules/tincanjs/node_modules/xhr2/lib/xhr2.js",
              "./node_modules/tincanjs/build/tincan-min.js"
            ]

我也尝试如下:

"scripts": [
    "./node_modules/xhr2/lib/xhr2.js",
    "./node_modules/tincanjs/build/tincan-min.js"
]

在我的应用程序组件中,我将tincan库作为普通的javascript导入,因为它没有按如下所示键入脚本:

import * as TinCan from 'tincanjs';

当我使用ng serve构建项目时,不断出现以下错误:

ERROR in ./node_modules/tincanjs/node_modules/xhr2/lib/xhr2.js
Module not found: Error: Can't resolve 'http' in 'C:\Dev Projects\xAPI Angular Example\xAPIExample\node_modules\tincanjs\node_modules\xhr2\lib'
ERROR in ./node_modules/tincanjs/node_modules/xhr2/lib/xhr2.js
Module not found: Error: Can't resolve 'https' in 'C:\Dev Projects\xAPI Angular Example\xAPIExample\node_modules\tincanjs\node_modules\xhr2\lib'
ERROR in ./node_modules/tincanjs/node_modules/xhr2/lib/xhr2.js
Module not found: Error: Can't resolve 'os' in 'C:\Dev Projects\xAPI Angular Example\xAPIExample\node_modules\tincanjs\node_modules\xhr2\lib'

TincanJS库依赖于xhr2。我已经检查了物理文件夹,并且xhr2.js文件存在于正确的位置。

我想知道我在做什么错? 你能帮忙

1 个答案:

答案 0 :(得分:1)

删除xhr2

应该是

"scripts": [
    "node_modules/tincanjs/build/tincan-min.js"
]

用于声明,而不是

import * as TinCan from 'tincanjs';

使用

declare const TinCan: any;