js 有没有类似于“虚拟文件系统”的库? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐关注
Meteor
JSLint - a Javascript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
Javascript 权威指南第 5 版
Closure: The Definitive Guide
xiaoming1992
V2EX    Javascript

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

  •  
  •   xiaoming1992 2024-05-24 11:16:49 +08:00 2644 次点击
    这是一个创建于 511 天前的主题,其中的信息可能已经有所发展或是发生改变。

    类似于

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

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


    对了,最好是浏览器环境

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

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

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

    略微有点复杂了,纯 js 就可以。
    money1991
        11
    money1991  
       2024-05-24 14:30:13 +08:00
    webassembly 啊,自带文件系统,完全兼容 unix
    ccbikai
        12
    ccbikai  
    PRO
       2024-05-24 14:37:40 +08:00
    ajan
        13
    ajan  
       2024-09-11 13:13:01 +08:00
    浏览器端的

    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");
    });
    ```
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     878 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 21:11 PVG 05:11 LAX 14:11 JFK 17:11
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86