Не удалось создать пакет Angular с пользовательским определением типа (.d.ts) - PullRequest
0 голосов
/ 04 апреля 2019

Я пытаюсь создать пользовательский пакет Angular.Я хочу включить в свой пакет объявление пользовательского типа (файл .d.ts).Это моя структура папок:

  • e2e
  • node_modules
  • src
    • ...
    • typings.d.ts(Этот файл)

Это содержимое typings.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)

В основном все определения внутри typings.d.ts приводят к ошибке Chrome, и приложение частично загружается.

Можеткто-нибудь поможет мне?

...