Angular 8 - Модуль не найден: Ошибка: не удается разрешить "fs" в

Когда я пытаюсь использовать

import { readFileSync } from 'fs';

Я получаю ошибку

Модуль не найден: ошибка: не удается разрешить "fs"

Фактически, когда я использую readFileSync в своей программе в VS, даже intellisense работает нормально, но когда я запускаю ng serve, возникает ошибка компилятора.

Я часами просматривал другие сообщения SO и искал в Интернете. Ничего не получилось. Например, пробовали установить "types": ["node"] там, где раньше было пусто. Пробовали использовать странный синтаксис /// для импорта, но это тоже не сработало.

Я также пробовал странный синтаксис вроде import { fs } from '@types/node';.

Я использую fs для следующего socket.io вызова:

this.socket = io('https://12.123.1245:1234', { ca: readFileSync('./assets/cert.pem'), rejectUnauthorized: false });

person Philip    schedule 12.08.2019    source источник
comment
а что такое fs?   -  person Liam    schedule 12.08.2019
comment
Вы пытаетесь сделать это? В этом случае вам необходимо прочитать этот комментарий   -  person Liam    schedule 12.08.2019
comment
Да, спасибо @SagarChaudhary, очевидно, это пакет npm, какой ...   -  person Liam    schedule 12.08.2019
comment
Я думал, ты не знал. Не тот случай.   -  person Sagar Chaudhary    schedule 12.08.2019


Ответы (1)


fs - это модуль только для nodeJs. Когда вы запустите «ng serve», ваше приложение будет скомпилировано и запущено в вашем браузере, поэтому вы не сможете использовать этот режим. Чтение из файла без действий пользователя (выберите файл) невозможно из соображений безопасности в вашем браузере.

person Thomas    schedule 12.08.2019
comment
что, если пользователь дает согласие. Вам все равно понадобится модуль fs для чтения файла. - person Saurabh Tiwari; 15.06.2020
comment
Вам необходимо использовать файл браузера api developer.mozilla.org/en- США / docs / Web / API / File - person Thomas; 16.06.2020