首页 > 解决方案 > 无法导入外部 NPM 包来制作角度库

问题描述

{
  "name": "crypto-local-storage",
  "version": "0.0.1",
  "peerDependencies": {
    "@angular/common": "^12.2.0",
    "@angular/core": "^12.2.0",
    "crypto-js": "^3.1.8",
    "secure-web-storage": "^1.0.2"
  },
  "dependencies": {
    "tslib": "^2.3.0"
  },
  "devDependencies": {
    "@types/crypto-js": "^4.0.2"
  }
}

其次,我这样做了


{
  "name": "crypto-local-storage",
  "version": "0.0.1",
  "peerDependencies": {
    "@angular/common": "^12.2.0",
    "@angular/core": "^12.2.0"
    
  },
  "dependencies": {
    "tslib": "^2.3.0",
    "crypto-js": "^3.1.8",
    "secure-web-storage": "^1.0.2"
  },
  "devDependencies": {
    "@types/crypto-js": "^4.0.2"
  }
}

但是在我导入时在我的服务文件中secure-web-storage 像这样

import * as SecureStorage from 'secure-web-storage'; 我收到了这样一条消息,

TS7016: Could not find a declaration file for module 'secure-web-storage'.
 'D:/AMS/crypto-local-storage/projects/crypto-local-storage/node_modules/secure-web-storage/secure-storage.js' 
implicitly has an 'any' type.  
Try `npm i --save-dev @types/secure-web-storage` if it exists or add a new declaration (.d.ts) file containing 
`declare module 'secure-web-storage';`

secure-web-storage不包含任何@types/secure-web-storage文件。那么我怎样才能摆脱这个错误呢?谷歌搜索了这么多后,我没有得到任何明确的答案。

我的文件夹结构可能会对您有所帮助,

我的文件夹结构图片

标签: javascriptangularnpmtypeerror

解决方案


如果运行npm install -D @types/secure-web-storage没有解决问题,请使用require而不是import.

const secureWebStorage= require('secure-web-storage');

推荐阅读