我正在尝试构建Angular自定义包。 我想在我的包中包含一个自定义类型声明(.d.ts文件)。 这是我的文件夹结构:
这是types.d.ts的内容:
declare var module: NodeModule;
interface NodeModule {
id: string;
}
declare var Menu: any;
declare var Scrolltop: any;
declare var Header: any;
declare var Toggle: any;
declare var Util: any;
这是tsconfig.json的内容:
{
"compileOnSave": false,
"compilerOptions": {
"baseUrl": "./",
"outDir": "./dist/out-tsc",
"sourceMap": true,
"declaration": true,
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"allowSyntheticDefaultImports": true,
"target": "es5",
"typeRoots": ["./src", "node_modules/@types"],
"module": "commonjs",
"lib": ["es2017", "es7", "es6", "dom"],
"esModuleInterop": true
},
}
在我的项目中,我已经在使用像这样的三斜杠引用:
/// <reference path="../../../../../../typings.d.ts"/>
要构建该软件包,我正在使用“ ng-packagr”:“ ^ 4.7.1”, 构建成功,没有任何错误。
当我在应用程序中导入包并运行它时,就会发生问题。 在chrome控制台上,我遇到以下问题:
ERROR ReferenceError: Toggle is not defined
... (All the other definitions have the same error)
基本上,types.d.ts中的所有定义都给我一个关于chrome的错误 并且应用程序已部分加载。
有人可以帮助我吗?