【问题标题】:Angular library import *角度库导入 *
【发布时间】:2019-11-29 12:19:53
【问题描述】:

所以我在库中使用的模块之一是sha256。这必须像这样导入:

import sha256 from 'sha256';

现在我阅读了这个 SO 问题: Errors when using MomentJS in Angular Typescript library

编译时你需要做不同的事情:

所以一开始我改成:

import * as sha256_ from 'sha256';
const sha256 = sha256_;

但是这些抛出了同样的错误:

ERROR: Cannot call a namespace ('sha256')
An unhandled exception occurred: Cannot call a namespace ('sha256')

然后我尝试编辑我的tsconfig.json

  "angularCompilerOptions": {
    "allowSyntheticDefaultImports": true,
    "fullTemplateTypeCheck": true,
    "strictInjectionParameters": true
  }

但是没有任何成功。

谁能告诉我如何通过这样的导入正确构建我的库?

编辑

我也把它加到compilerOptions:

    "compilerOptions": {
    "outDir": "../../out-tsc/lib",
    "target": "es2015",
    "declaration": true,
    "inlineSources": true,
    "allowSyntheticDefaultImports": true,
    "types": [],
    "lib": [
      "dom",
      "es2018"
    ]
  },

ng --version

Angular CLI: 8.3.20
Node: 10.16.0
OS: win32 x64
Angular: 8.2.14
... animations, common, compiler, compiler-cli, core, forms
... language-service, platform-browser, platform-browser-dynamic
... router

Package                            Version
------------------------------------------------------------
@angular-devkit/architect          0.803.20
@angular-devkit/build-angular      0.803.20
@angular-devkit/build-ng-packagr   0.803.20
@angular-devkit/build-optimizer    0.803.20
@angular-devkit/build-webpack      0.803.20
@angular-devkit/core               8.3.20
@angular-devkit/schematics         8.3.20
@angular/cli                       8.3.20
@ngtools/webpack                   8.3.20
@schematics/angular                8.3.20
@schematics/update                 0.803.20
ng-packagr                         5.7.1
rxjs                               6.4.0
typescript                         3.5.3
webpack                            4.39.2

【问题讨论】:

  • 您在什么时候收到该错误。我可以使用import * as sha256 from 'sha256'; 服务和构建,您使用的是什么捆绑器?
  • @c_ogoo ive 用我的 ng --version 更新了我的问题

标签: javascript angular typescript npm


【解决方案1】:

试试这个..

npm install --save @types/sha256

然后

import sha256 from 'sha256';

or

import * as sha256_ from 'sha256';

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-08-26
    • 2016-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-15
    • 2018-12-21
    相关资源
    最近更新 更多