Saya melakukan angular2
tutorial di alamat ini: https://angular.io/docs/ts/latest/tutorial/toh-pt3.html Saya telah meletakkan hero
antarmuka dalam satu file di bawah app
folder, di konsol saya memiliki kesalahan ini :
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.
Jika saya meletakkan file antarmuka saya di folder pahlawan kesalahan hilang, ini tidak disebutkan dalam dokumentasi, apa yang salah dengan impor saya ?
Arahan impor saya (saat mempercayai file komponen) di keduanya app.components.ts
dan hero-detail.component.ts
:
import {Component} from 'angular2/core';
import {Hero} from './hero';
Haruskah saya mengganti arahan impor saya dengan: import {Hero} from './';
atau cukup memasukkan kode ke folder pahlawan ?
Saya mendapat kesalahan yang sama dalam tutorial yang sama karena saya lupa kata kunci ekspor untuk antarmuka.
sumber
mungkin Anda lupa menambahkan "Ekspor" dalam definisi kelas.
->
Coba juga dengan
di bagian bawah kelas hero.ts Anda, dan akhirnya, periksa nama file huruf kapital dan nama kelas.
sumber
const
?Kesalahannya adalah karena Anda belum menyimpan file setelah membuatnya.
Coba simpan semua file dengan mengklik "Simpan Semua" pada Editor.
Anda dapat melihat jumlah file yang tidak disimpan dengan melihat di bawah menu "File" yang ditampilkan menggunakan warna biru.
sumber
Restart
ng serve
proses saya berhasil untuk sayasumber
Untuk orang yang mendapatkan kesalahan yang sama pada stackblitz
Anda akan menemukan tab Ketergantungan di sidebar kiri IDE. Cukup klik tombol segarkan di sebelahnya dan Anda akan baik-baik saja.
sumber
Seperti yang saya alami setiap kali saya menambahkan file baru ke proyek saya, saya harus berhenti dan memulai ulang server ng.
sumber
Tutorial telah Anda meletakkan semua komponen dan file antarmuka dalam direktori yang sama maka impor relatif
'./hero'
jika Anda ingin memindahkannya ke tempat lain, Anda perlu mengubahnya.Sunting: Kode mungkin masih berfungsi tetapi kompiler akan mengeluh karena Anda mencoba impor dari lokasi yang salah. Saya cukup mengubah impor berdasarkan struktur Anda. Sebagai contoh:
Saya hanya akan mengubah impor ke
import {Hero} from '../hero'
.sumber
import {Hero} from './';
atauimport {Hero} from './hero';
. Saya bertanya-tanya apa cara terbaik untuk menyimpan file antarmuka?Kesalahan ini disebabkan oleh kegagalan
ng serve
penyajian untuk secara otomatis mengambil file yang baru ditambahkan. Untuk memperbaikinya, cukup restart server Anda.Meskipun menutup pembukaan kembali editor teks atau IDE menyelesaikan masalah ini, banyak orang tidak ingin melalui semua tekanan membuka kembali proyek. Untuk Memperbaiki ini tanpa menutup editor teks ...
Di terminal tempat server berjalan,
ctrl+C
untuk menghentikan server,ng serve
Itu seharusnya bekerja.
sumber
Saya menghadapi masalah yang sama.
Saya me-restart server saya dan berfungsi dengan baik. Sepertinya ada bug.
sumber
mulai lagi ng melayani
Saya memiliki masalah yang sama. Untuk mencari kesalahan, saya memilih kesalahan dan secara tidak sengaja melakukan CTRL + C (artinya menyalin), yang diakhiri dengan melayani. Saat memulai ulang layanan, kesalahan hilang :). Kadang kesalahan ketik dan jari gemuk membantu ;-)
sumber
Masalah editor. Saat Anda membuat file baru yang tidak menggunakan CLI Angular, pastikan Anda membuka File> Simpan Semua (Kode VS) untuk membuat Editor mengetahui perubahan baru Anda. Kemudian jalankan "ng serve - open" lagi. Itu memecahkan milikku. Semoga ini bisa membantu
sumber
Saya mengalami masalah yang sama di VSC. Apakah me-restart editor dan memulai aplikasi lagi. Itu bekerja dengan baik.
sumber
Saya menemukan bahwa saya tidak hanya harus me-restart Visual Studio Code tetapi juga proses server node sebelum saya bisa mendapatkan kompilasi yang baik.
sumber
Saya menghadapi masalah yang sama, mencoba me-restart server saya, membuka kembali editor tetapi restart komputer melakukan keajaiban.
PS: Saya menghadapi masalah pada mesin windows dan masalah terjadi ketika saya memindahkan modul ke folder baru.
sumber
Saya punya masalah serupa. Saya menulis pahlawan alih-alih Pahlawan
impor yang berikut ini:
sumber
Terkadang kesalahan ini terjadi ketika file .ts tidak disimpan. Jadi pastikan semua file dalam proyek disimpan jika tidak coba untuk me-restart editor.
sumber
Buka command prompt, buka folder aplikasi, mis
D:\angular-tour-of-heroes\src\app
Kemudian buat file baru menggunakan perintah berikut:
Ini akan membuat
hero.ts
file. Kemudian Anda dapat menempelkan kode ekspor, dan kesalahannya hilang.sumber
Anda harus menyimpan semua file. Misalnya html, css, component.ts, modul, file model. Buka setiap file dan tekan ctrl-S. Ini berhasil untuk saya
sumber
Dalam kasus saya, saya lupa untuk menyimpan perubahan pada file 'app / hero.ts', setelah menyimpan dan memulai kembali layanan, masalahnya telah teratasi.
sumber
Resolusi saya,
Dalam kasus saya, saya telah membuat file model dan membiarkannya tetap kosong,
jadi ketika saya mengimpornya ke model lain, itu memberi saya kesalahan. jadi tulis definisi ketika Anda membuat file naskah model.
sumber
perubahan
untuk
pastikan Anda telah menyimpan file .TS sebelum kompilasi.
sumber
tambahkan ini sebelum mengekspor kelas
sumber