【发布时间】: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