node.js require(fs) дает пустой объект

В моем проекте Ionic, когда я запускаю простой тестовый код для require('fs'):

const fs = require('fs');
console.log(fs) //empty object {}
if(!fs.existsSync('./testFolder')){
    console.log('Folder not found');
}
else{
    console.log('Folder Found');
}

Ошибка

TypeError: fs.existsSync не является функцией

Но если я создам файл js и запущу его на cmd, например node test-fs, я смогу выйти из объекта fs и получить результат.

Какой-либо причине?


РЕДАКТИРОВАТЬ:

Я надеюсь добиться этого в конце:

var request = require('request');
var fs = require('fs');

var options = {
    url: 'https://some-url/api',
    headers: {
        "content-type": "application/json",
    },
    agentOptions: {
        pfx: fs.readFileSync(__dirname + '/certs/myCert.p12'),
        passphrase: ''
    }
};

request.get(options, (error, response, body) => {
    console.log(error);
    console.log(response);
    console.log(body);
});

person Huiting    schedule 28.06.2019    source источник
comment
вы хотите использовать модуль «fs» в файле TypeScript?   -  person yashpatelyk    schedule 28.06.2019


Ответы (1)


Модуль файловой системы — это модуль узла на стороне сервера, он не будет работать внутри приложения, которое является кодом на стороне клиента. Вместо этого для приложения Ionic используйте собственный файловый плагин.

import { File } from '@ionic-native/file/ngx';

constructor(private file: File) { }
person Amith Kumar    schedule 28.06.2019
comment
Я отредактировал свой вопрос, чтобы показать, чего я надеюсь достичь. Видел много примеров использования fs при выполнении HTTP-запросов с использованием сертификатов. Это тоже не запустится? - person Huiting; 29.06.2019
comment
@Huiting Эти примеры, вероятно, являются примерами node.js. Ionic — это не node.js, а пользовательский браузер, запускающий ваш код. - person slebetman; 29.06.2019
comment
Модули NodeJs не будут работать внутри ionic, Ionic — это интерфейс, NodeJs — это бэкэнд. Для http-вызова на основе сертификата обратитесь к этому форуму для некоторых указаний. - person Amith Kumar; 29.06.2019