首页 > 解决方案 > 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);
});

标签: node.jsionic-frameworkionic2fileshare

解决方案


文件系统模块是服务器端节点模块,它不会在应用程序内部运行,它是客户端代码。代替 Ionic 应用程序使用本机文件插件

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

constructor(private file: File) { }

推荐阅读