Я пытаюсь создать пользовательский пакет 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, и приложение частично загружается.
Можеткто-нибудь поможет мне?