Невозможно импортировать службу ng2, если не используется заглавная буква

Я создал сервис в файле myapi.service.ts, который содержит:

export class MyAPIService {

и в моем компоненте я импортирую сервис следующим образом:

import { MyAPIService } from '../myapi.service';

Но каждый раз, когда я компилирую, я получаю эту ошибку:

Модуль "/myapi.service" не имеет экспортированного члена MyAPIService.

Кажется, что проблема заключается в capitalizatio.n Если я импортирую "MyapiService" вместо "MyAPIService", то он скомпилируется нормально. Но почему? Требует ли ng2 / форсировать определенную капитализацию? Разве он не должен использовать заглавные буквы, которые я использовал при создании класса?

1 ответ

Решение

В Angular или TypeScript такого нет. Убедитесь, что в вашем коде нет другой ошибки.

Вот рабочий пример

Возможно, также (хотя это реальный крайний случай), проверьте конфигурацию вашего веб-пакета, если там есть что-то сумасшедшее, или вы играли с paths свойство tsconfig, но, скорее всего, это гораздо более простая ошибка в вашем коде.

Может быть, вам тоже нужно было перезапустить сервер сборки / разработки.

Обновить

Если это внешняя зависимость (модуль NPM), попробуйте удалить node_modules папка и работает npm install снова.

Как и в комментариях, это был случай для ОП.

Другие вопросы по тегам