推荐关注
› Meteor
› JSLint - a JavaScript code quality tool
› jsFiddle
› D3.js
› WebStorm
推荐书目
› JavaScript 权威指南第 5 版
› Closure: The Definitive Guide
xiaoming1992

js 有没有类似于“虚拟文件系统”的库?

  •  
  •   xiaoming1992 · May 24, 2024 · 3709 views
    This topic created in 899 days ago, the information mentioned may be changed or developed.

    类似于

    class File {
      // ...
    }
    
    class Dir {
      // ...
    }
    
    // 用法类似于
    const root = new Dir(xxx)
    root.add(xxx)
    
    const file = new File(xxx)
    file.content = 'xxx'
    

    且实现上( api 能力)尽量类似真实的文件系统(但不是 fs 那种,因为并不存在真实的文件)


    对了,最好是浏览器环境

    13 replies  •  2024-09-11 13:13:01 +08:00
    lisxour
    lisxour
    May 24, 2024❤️1
    1
    有见过支持 node 的,但是你想要支持浏览器是什么应用场景,你怎么持久化保存呢?
    xiaoming1992
    xiaoming1992
    OP
    May 24, 2024 via Android
    3
    @xiaoyiyu 不持久化,我只是上次看到有通过类似 shell 的形式访问 reddit 的,我就想做一个 v2sh
    accelerator1
    accelerator1
    May 24, 2024
    4
    xiaoming1992
    xiaoming1992
    OP
    May 24, 2024 via Android
    5
    @accelerator1 这个不是 fs 形式的,可能用起来不方便。

    谢谢大家,#2 的 memfs 就很合适了。我的分不多了,账号被降权,提个问贵得要死,回复不起了。。。
    xiaoyiyu
    xiaoyiyu
    May 24, 2024
    6
    @xiaoming1992 memfs readme 底部有与他相似的库推荐,也可以按照对应的关键字查找
    zhy0216
    zhy0216
    May 24, 2024 via Android
    8
    tsc 里面有 好像是独立的库
    ChefIsAwesome
    ChefIsAwesome
    May 24, 2024
    9
    DOM 节点就是这么一棵树。访问上下左右,增删改查的方法都有。
    flyqie
    flyqie
    May 24, 2024 via Android
    10
    @ChefIsAwesome #9

    你的意思是想让楼主去基于 dom 树模拟?

    略微有点复杂了,纯 js 就可以。
    money1991
    money1991
    May 24, 2024
    11
    webassembly 啊,自带文件系统,完全兼容 unix
    ajan
    ajan
    Sep 11, 2024
    13
    浏览器端的

    https://stuk.github.io/jszip/

    ```javascript
    var zip = new JSZip();
    zip.file("Hello.txt", "Hello World\n");
    var img = zip.folder("images");
    img.file("smile.gif", imgData, { base64: true });
    zip.generateAsync({type:"blob"}).then(function(content) {
    // see FileSaver.js
    saveAs(content, "example.zip");
    });
    ```
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2558 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 46ms · UTC 12:03 · PVG 20:03 · LAX 04:03 · JFK 07:03
    ♥ Do have faith in what you're doing.