Итак, я написал свои собственные примитивные расширения, и они хорошо работают. Я использую их в нескольких проектах, и теперь пришло время централизовать мою работу в библиотеке.
Первая попытка угловой библиотеки
Пока все хорошо, службы и компоненты работают хорошо. Теперь я импортирую свои расширения, как в других приложениях:
extensions.ts
interface String {
someFunction(this: string): boolean;
}
String.prototype.someFunction= function (this: string): boolean {
return !this;
};
и в моем my-lib.module.ts
import './path/to/my/extensions';
общественностью api.ts
export * from './lib/core/extensions';
Затем я создаю пакет моей библиотеки с npm pack и устанавливаю его в моем приложении с помощью npm install / absolute / path / to / my-lib . Как только моя библиотека установлена, я проверяю, все ли в порядке.
Все в порядке, кроме расширений. Как я могу использовать my-lib / extensions в проектах, которые импортируют мою библиотеку?
Если я попытаюсь в моем app.module.ts
import 'my-lib/extensions';
У меня ошибка:
Failed to compile.
./src/app/app.module.ts
Module not found: Error: Can't resolve 'my-lib/extensions' in 'C:\Angular\MyApp\src\app'
Есть идеи? Я немного потерян
(мы предполагаем, что все пути верны)