Maxzel
V2EX  ›  Node.js

node 的几个问题

  •  
  •   Maxzel · May 29, 2019 · 5610 views
    This topic created in 2584 days ago, the information mentioned may be changed or developed.

    1.node 怎么使用多线程

    2.node 上传文件有比 multer 更好的方案吗

    3.前端点击按钮上传图片之前如何实现图片预览

    4.被 python 党喷 js 就是个辣鸡,应该怎么怼

    16 replies    2019-06-04 22:33:21 +08:00
    whypool
        1
    whypool  
       May 29, 2019   ❤️ 4
    cluster
    传文件这个中间件挺好用的
    预览和 node 有鸡毛关系,直接去看 filereader
    菜是原罪,和语言无关
    Bijiabo
        2
    Bijiabo  
       May 29, 2019
    @whypool 最后一句好精辟
    lisia
        3
    lisia  
       May 29, 2019
    1. 使用 worker_threads
    3. 前端预览可以直接前端实现, 使用 canvas
    libook
        4
    libook  
       May 29, 2019
    1. Node 现在多线程是试验阶段,不过已经离稳定发布不远了,现在最新版 Node 已经不需要加 flag 就可以使用 https://nodejs.org/api/worker_threads.html 如果对稳定性(主要是 API,程序已经很稳定了,不保证正式发布前 API 是否会做调整,不过大概率不会有大变动)要求不严格可以开始用了。或者可以去找一些 Web worker 的其他方案。
    如果接受多进程方案的话,Cluster、Chield Process 都很稳定,可以根据自己的需要使用。
    2. 没抠过这个,用得比较多的方案是上传 SDN 再从 Node 上下载,这样对弹性分布式+消息总线的系统友好一些。
    3. 跟 Node 没关系,个人没怎么做过,不过有思路是用 HTML5 API 读取本地文件然后再用 Canvas 画出来,这样可以支持上传前编辑,最终上传的应该是页面内存里的那个编辑过的图片数据。可以找找有没有相关的前端组件。
    4. 软件工程没有银弹,在不同的地方使用最合适的技术栈才是最明智的。
    azh7138m
        5
    azh7138m  
       May 29, 2019
    1. 上次看到一个用 https://www.npmjs.com/package/fibers
    是一种 coroutine,被 https://www.npmjs.com/package/sass 使用,Dart 写的,很有趣的用法

    4. 电子竞技(
    marsgt
        6
    marsgt  
       May 29, 2019
    2 和 3 可以放到客户端那边去做,亦即前后端分离。
    2 的核心原理实际上就是 HTML5 的文件上传,3 可以调 FileReader 接口 new 个 Image 然后直接填充,当然也可以用 Canvas (如果项目里没大规模用 Canvas,我觉得还是前者比较有优势)
    4 ……这种人懒得喷,就让他继续辣鸡下去好了。
    marsgt
        7
    marsgt  
       May 29, 2019
    关于 2 和 3,可以参考 https://segmentfault.com/a/1190000006718963
    原文用了个 js 插件来处理图片兼容性的问题,不过上传和预览的大致原理都有涉及。
    TomVista
        8
    TomVista  
       May 29, 2019
    4.告诉他 php 是世界上最好的语言.
    ochatokori
        9
    ochatokori  
       May 29, 2019 via Android
    4 支持他把他培养成大煞笔
    ben1024
        10
    ben1024  
       May 29, 2019
    4. 菜是原罪 (PHP 是世界上最好的语言)
    redbuck
        11
    redbuck  
       May 29, 2019 via iPhone
    lbw
        12
    lbw  
       May 29, 2019
    3. 将上传的图片转换为 base64, 再用 img 标签直接预览
    alw
        13
    alw  
       May 29, 2019
    4. 是是是,你说得对,Python 语法容易阅读,并且能做大数据,人工智能啥的,js 语法就是个垃圾,性能坑的要死,要不是前端必须要用它,我才不想用呢。 我现在呀,就后悔没学 Python,不然现在月薪应该就有 50K 了吧。
    LG3xFA6kpn88HxEW
        14
    LG3xFA6kpn88HxEW  
       May 29, 2019
    @alw 厚葬友军
    jasonlwy
        15
    jasonlwy  
       May 29, 2019
    3 , express + ejs 的话,上传本地服务时候,把图片存在 session 中,提交表单时候,delete session.img
    BlackHole1
        16
    BlackHole1  
       Jun 4, 2019
    3.直接走 blob 协议就好
    4. js 确实辣鸡
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5387 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 65ms · UTC 07:02 · PVG 15:02 · LAX 00:02 · JFK 03:02
    ♥ Do have faith in what you're doing.