V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
grofis
V2EX  ›  问与答

Vue 项目怎样操作本地文件夹

  •  
  •   grofis · 2020-11-11 08:28:12 +08:00 · 4242 次点击
    这是一个创建于 1470 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我用 fs 库,node 的方式执行没有问题。

    在浏览器里运行报错:fs.readdir is not a function

    也就是说我想在前端页面中使用 fs 库。

    第 1 条附言  ·  2020-11-11 11:12:58 +08:00

    点击选择一个文件夹之后的效果

    可能是我低估了浏览器的能力吧!

    重命名还在研究

    33 条回复    2020-11-12 08:41:55 +08:00
    HuHui
        1
    HuHui  
       2020-11-11 08:32:16 +08:00
    ...
    以前刚工作的时候,带我的老大也想这么干
    grofis
        2
    grofis  
    OP
       2020-11-11 08:38:58 +08:00
    @HuHui 哈哈哈 我想起来了 这种貌似不太好整,也不安全,但这是最快速高效的方法啊!
    你们后来怎么解决的
    lqw3030
        3
    lqw3030  
       2020-11-11 08:43:36 +08:00
    需要用户主动上传,node 方式之所以可以是因为你读的是自己当前设备的文件系统
    grofis
        4
    grofis  
    OP
       2020-11-11 08:55:44 +08:00
    对的,文件最终会上传到 github 上。不过我更倾向于在本地实现一个小工具,我自己用着方便就行那种...

    我的需求,我再研究下:要不要先 node 方式遍历后保存在一个文件里,然后再展示和修改; 但是这个操作的路径太长了点
    HuHui
        5
    HuHui  
       2020-11-11 08:56:26 +08:00
    @grofis 不是不好整,而是整不了。典型的前端和后端的概念没有区分清楚。
    grofis
        6
    grofis  
    OP
       2020-11-11 08:56:54 +08:00
    评论区貌似发不了图 哈哈哈
    这个帖子里却是可以的: https://v2ex.com/t/632940
    kely
        7
    kely  
       2020-11-11 09:21:34 +08:00
    fs 是 node 提供的,浏览器没有的哦,另外浏览器应该没有开放修改文件的权限给 js,最多就是选择文件上传。你的原始需求是什么呢?
    grofis
        8
    grofis  
    OP
       2020-11-11 09:23:22 +08:00
    @kely 6 楼帖子里 我最新的留言。
    lower
        9
    lower  
       2020-11-11 09:32:53 +08:00
    你要在本地实现一个小工具,要不用 electron ?

    你要研究在浏览器里玩,要不用 Java applet 、ActiveX ?
    VensonEEE
        10
    VensonEEE  
       2020-11-11 09:34:40 +08:00
    年轻真好...
    liuxey
        11
    liuxey  
       2020-11-11 09:37:13 +08:00
    有点可爱
    lbyo
        12
    lbyo  
       2020-11-11 09:38:28 +08:00
    @liuxey #11 我也是这个想法
    u6pM63mMZ34z32cE
        13
    u6pM63mMZ34z32cE  
       2020-11-11 09:43:16 +08:00
    浏览器操作 fs, 打开个网站发现自己电脑炸了
    azcvcza
        14
    azcvcza  
       2020-11-11 09:45:21 +08:00
    浏览器和 node 环境不一样,浏览器没有提供很多操作本地文件的权限和接口; nodejs 底层是 c 艹写的,提供了访问本地文件的权限,把 js 从单纯浏览器中解放了出来
    shenyu1996
        15
    shenyu1996  
       2020-11-11 10:09:10 +08:00   ❤️ 1
    https://github.com/GoogleChromeLabs/text-editor
    最新的 chrome 86 刚好支持这个
    rodrick
        16
    rodrick  
       2020-11-11 10:28:32 +08:00
    浏览器可以做的话 那是不是意味着我开个网页就可能被随意读取我本地电脑的文件么?
    aaronlam
        17
    aaronlam  
       2020-11-11 10:42:31 +08:00
    fs 准确的说只能在 node 环境下使用,你的 vue 项目最终生成的网站时跑在浏览器的环境下的。
    xionger
        18
    xionger  
       2020-11-11 10:52:06 +08:00   ❤️ 1
    建议转行
    Ritr
        19
    Ritr  
       2020-11-11 11:03:41 +08:00
    浏览器做不到
    silif
        20
    silif  
       2020-11-11 11:13:01 +08:00
    浏览器没办法直接操作本地文件的,文件只能通过用户主动上传
    grofis
        21
    grofis  
    OP
       2020-11-11 11:13:14 +08:00
    各位,不好意思了!
    grofis
        22
    grofis  
    OP
       2020-11-11 11:14:09 +08:00
    @silif 是的 能不能把选择框去掉 还得研究下。
    gouflv
        23
    gouflv  
       2020-11-11 12:43:39 +08:00 via iPhone
    楼主真可爱
    darknoll
        24
    darknoll  
       2020-11-11 12:50:46 +08:00
    调用第三方 exe 干这个活
    grofis
        25
    grofis  
    OP
       2020-11-11 12:54:01 +08:00 via iPhone
    @gouflv 苏东坡也这么说过
    Shook
        26
    Shook  
       2020-11-11 13:15:02 +08:00
    刚好,我在写 require.context 相关的东西。
    不过我只是要递归获取 util,不想写那么多层的 index.js 。
    grofis
        27
    grofis  
    OP
       2020-11-11 14:51:16 +08:00
    @Shook 老弟 乱入了吧
    red2dog
        28
    red2dog  
       2020-11-11 17:04:52 +08:00
    你可能需要的是 electron 或者 nw?
    ruoxie
        29
    ruoxie  
       2020-11-11 18:40:45 +08:00 via Android
    萌新你好
    ciaoly
        30
    ciaoly  
       2020-11-11 22:24:01 +08:00 via Android
    iseki
        31
    iseki  
       2020-11-12 00:02:42 +08:00 via Android
    啊这…什么情况…感觉最近令人蒙逼的萌新越来越多了
    Jirajine
        32
    Jirajine  
       2020-11-12 00:05:40 +08:00 via Android
    你在浏览器里调用 node api,当然是不行了。
    非要用的话可以看看 nwjs 。
    或者浏览器平台上实验性的 fs api 。
    err1y
        33
    err1y  
       2020-11-12 08:41:55 +08:00 via iPhone
    用 electron
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5695 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 01:40 · PVG 09:40 · LAX 17:40 · JFK 20:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.