Это точно правильно, потому что компилятор должен знать, какой тип он предназначен для распределения. Поэтому классы шаблонов, функции, перечисления и т. Д. Должны быть реализованы также в файле заголовка, если он должен быть опубликован или частично из библиотеки (статический или динамический), поскольку файлы заголовков НЕ скомпилированы в отличие от файлов c / cpp, которые находятся. Если компилятор не знает, что тип не может его скомпилировать. В .Net это возможно, потому что все объекты происходят из класса Object. Это не .Net.
JSON.Stringify не работает для объектов File в TS / JS. Вы должны извлечь данные из файла и затем преобразовать их в строку. Например, извлеките содержимое файла в виде строки или массива строк, используя https://developer.mozilla.org/en-US/docs/Web/API/FileReader
Но когда я пытаюсь напечатать его содержимое, используя JSON.stringify, я получаю: {} (пустой файл).
blockquote>Это не содержимое файла
JSON
. Это Файловый объект . Для чтения содержимого JSON необходимо использовать FileReader.onFileChanged(event) { this.selectedFile = event.target.files[0]; const fileReader = new FileReader(); fileReader.readAsText(this.selectedFile, "UTF-8"); fileReader.onload = () => { console.log(JSON.parse(fileReader.result)); } fileReader.onerror = (error) => { console.log(error); } }