Я делаю angular2
учебник по этому адресу: https://angular.io/docs/ts/latest/tutorial/toh-pt3.html Я поместил hero
интерфейс в один файл в app
папке, в консоли у меня эта ошибка :
app/app.component.ts(2,20): error TS2306: File 'app/hero.ts' is not a module.
[0] app/hero-detail.component.ts(2,20): error TS2306: File 'app/hero.ts' is not a module.
Если я помещаю свой интерфейсный файл в папку героя, ошибка исчезает, это не упоминается в документации, что не так с моим импортом ?
Моя директива импорта (в начале файлов компонентов) в обоих app.components.ts
и hero-detail.component.ts
:
import {Component} from 'angular2/core';
import {Hero} from './hero';
Должен ли я заменить свою директиву импорта на: import {Hero} from './';
или просто поместить код в папку героя ?
Я получил ту же ошибку в том же руководстве, потому что я забыл ключевое слово экспорта для интерфейса.
источник
возможно, вы забыли добавить «Экспорт» в определение класса.
->
Также попробуйте с
внизу вашего класса hero.ts и, наконец, проверьте имя файла с заглавной буквой и имя класса.
источник
const
?Ошибка связана с тем, что вы не сохранили файлы после их создания.
Попробуйте сохранить все файлы, нажав «Сохранить все» в редакторе.
Вы можете увидеть количество файлов, которые не были сохранены, посмотрев под меню «Файл», показанное синим цветом.
источник
Перезапуск моего
ng serve
процесса сработал для меняисточник
Для людей, получающих ту же ошибку на stackblitz
На левой боковой панели среды IDE вы найдете вкладку « Зависимость ». Просто нажмите кнопку обновления рядом с ним, и все будет в порядке.
источник
Как я испытал всякий раз, когда я добавлял новый файл в свой проект, мне приходилось останавливать и перезапускать сервер ng.
источник
В руководстве вы помещаете все компоненты и файл интерфейса в один и тот же каталог, следовательно, относительный импорт,
'./hero'
если вы хотите переместить его в другое место, вам нужно это изменить.Изменить: код все еще может работать, но компилятор будет жаловаться, потому что вы пытаетесь импортировать из неправильного места. Я бы просто изменил импорт в зависимости от вашей структуры. Например:
Я бы просто изменил импорт на
import {Hero} from '../hero'
.источник
import {Hero} from './';
илиimport {Hero} from './hero';
. Интересно, как лучше всего хранить файлы интерфейса?Эта ошибка вызвана тем, что сбойный сервер
ng serve
автоматически принимает новый добавленный файл. Чтобы исправить это, просто перезапустите сервер.Хотя закрытие и повторное открытие текстового редактора или IDE решает эту проблему, многие люди не хотят испытывать стресс, связанный с повторным открытием проекта. Чтобы исправить это, не закрывая текстовый редактор ...
В терминале, на котором запущен сервер,
ctrl+C
чтобы остановить сервер, затем,ng serve
Это должно сработать.
источник
Не забудьте также экспортировать свой класс или интерфейс.
источник
Я столкнулся с той же проблемой.
Я перезапустил свой сервер, и он работает нормально. Похоже на ошибку.
источник
перезапустить службу
Я была такая же проблема. Чтобы найти ошибку, я выбрал ошибку и случайно нажал CTRL + C (что означает «копировать»), что прервало ng serve. При перезапуске ng serve ошибка исчезла :). Иногда помогают опечатки и толстые пальцы ;-)
источник
Выпуск редактора. Когда вы создаете новые файлы, которые не используют Angular CLI, убедитесь, что вы перешли в File> Save All (VS Code), чтобы редактор узнал о ваших новых изменениях. Затем снова запустите "ng serve --open". Это решило мою проблему. Надеюсь, это поможет
источник
Я столкнулся с той же проблемой в VSC. Перезапустил редактор и снова запустил приложение. Работало нормально.
источник
Я обнаружил, что мне нужно перезапустить не только Visual Studio Code, но и процесс сервера узлов, прежде чем я смогу получить хорошую компиляцию.
источник
Я столкнулся с той же проблемой, попытался перезагрузить сервер, повторно открыть редактор, но перезагрузка компьютера сделала чудо.
PS: Я столкнулся с проблемой на машине с Windows, и проблема возникла, когда я переместил модуль в новую папку.
источник
У меня была аналогичная проблема. Я написал героя вместо героя
импортировать следующее:
источник
Иногда эта ошибка возникает, когда файл .ts не сохраняется. Поэтому убедитесь, что все файлы в проекте сохранены, в противном случае попробуйте перезапустить редактор.
источник
Откройте командную строку, перейдите в папку приложения, например
D:\angular-tour-of-heroes\src\app
Затем создайте новый файл, используя следующую команду:
Это создаст
hero.ts
файл. Затем вы можете вставить код экспорта, и ошибка исчезнет.источник
Вам следует сохранить все файлы. Например, html, css, component.ts, файлы модуля, модели. Откройте каждый файл и нажмите ctrl-S. Это сработало для меня
источник
В моем случае я забыл сохранить изменения в файле app / hero.ts, после сохранения и перезапуска ng serve проблема была решена.
источник
Мое решение,
В моем случае я создал файл модели и оставил его пустым,
поэтому, когда я импортировал его в другую модель, это дает мне ошибку. поэтому напишите определение при создании файла машинописного текста модели.
источник
изменение
к
перед компиляцией убедитесь, что вы сохранили .TS файл.
источник
добавьте это перед экспортом класса
источник