无法使用自定义类型定义(.d.ts)构建Angular包

时间:2019-04-04 08:00:09

标签: angular typescript typescript-typings ng-packagr

我正在尝试构建Angular自定义包。 我想在我的包中包含一个自定义类型声明(.d.ts文件)。 这是我的文件夹结构:

  • e2e
  • node_modules
  • src
    • ...
    • typings.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的错误 并且应用程序已部分加载。

有人可以帮助我吗?

0 个答案:

没有答案