V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
libasten
V2EX  ›  问与答

试着学习现代前端工程化,对自动下载安装的海量的模块包感到恐惧

  •  
  •   libasten · Mar 12, 2020 · 2597 views
    This topic created in 2242 days ago, the information mentioned may be changed or developed.

    以前写一些 html+js+css 的东西,用的最多就 jQuery 都是手动添加第三方的 js,喜欢吧 js 文件放到项目中的 js 文件夹中,一切尽在掌握的感觉,但是感觉现在跟不上时代了,各种教程都是 npm 啥的。 最近也跟着学学,结果下载的源代码结构马马虎虎能看懂,然后用 npm install 命令执行一下,巴拉巴拉一下子给安装了数百个第三方包在 node _ modules 里面,绝大多数都不知道干啥的,有一种失控的恐惧感。 而事实也是这样的,就拿常见的 vue+elementUI 这样的项目来说吧,然后跟着教程是能跑起来了,但是折腾一会,就不知道什么问题,跑不起来了,这个引用那个引用啥的,乱套了,配置文件越改约乱,最后人崩溃了,放弃学习了。 请问你们当时都是怎么切换进 nodejs 的世界的?

    14 replies    2020-03-13 00:12:14 +08:00
    ebingtel
        1
    ebingtel  
       Mar 12, 2020
    同感……后端是跟不上前端对变化了
    murmur
        2
    murmur  
       Mar 12, 2020
    挂个阿里镜像,换个 ssd,装个 vs2018 ( 2020 不行!),npm 就不是问题了,现在的 npm 已经没有以前深层嵌套目录的恐惧,下就下呗
    ipwx
        3
    ipwx  
       Mar 12, 2020   ❤️ 2
    vue-cli,自动创建 vue 脚手架。包的话,不是盯着 package.json 就行了么,node_modules 下面其他东西别管它。

    JS 社区虽然乱七八糟的生态体系为人诟病,但是你引用的包引用别的包,别的包再引用第三层包,这不是所有现代语言的基本操作么?无论是 Python PHP Java C# 都是如此。从这个意义上 JS 社区并不比别的语言更乱。

    我觉得你不是跟不上前端的变化,是有点跟不上现代开源软件开发体系。。。
    ipwx
        4
    ipwx  
       Mar 12, 2020
    我感觉 vue-cli 已经比较简单了,用完之后根本不用管 webpack config。如果是 scala 的话,迄今为止我还没搞明白 sbt 怎么写的。明明号称 sbt 比 maven 简单,可是用起来却感觉更难用了。
    libasten
        5
    libasten  
    OP
       Mar 12, 2020
    @ipwx 一套项目下面引用那么多第三方的东西,有时候更第三方桥接第三方,其中某一个更新了,然后又不支持旧版本什么的,几下折腾崩了。
    murmur
        6
    murmur  
       Mar 12, 2020
    @libasten 生产项目切忌随便更新,就算 java 也一样,这是常识,除了必要的安全更新能不动就不动
    MrJeff
        7
    MrJeff  
       Mar 12, 2020
    @libasten 这时候 package-lock 的重要性就出来了
    hoyixi
        8
    hoyixi  
       Mar 12, 2020
    装一砣砣包,算啥失控啊。等个别包不兼容、依赖缺失、之间互相冲突,再加上 npm 那垃圾错误提示,那时候你才能体会啥叫失控。
    libasten
        9
    libasten  
    OP
       Mar 12, 2020
    @hoyixi 对,就是你说的这个情况,直接崩了。以前 html+js+css+jQuery 写法时候,都本地自己管理,也没有这么多包,现在不明白这么一个小 demo 都上百个包下下来了呢。
    whileFalse
        10
    whileFalse  
       Mar 12, 2020
    如果是跑后端的话无所谓。但这么多包要是在前端,就有点浪费用户带宽了。
    sampeng
        11
    sampeng  
       Mar 12, 2020 via iPhone
    我就写个登录页面做个简单 sso…一看几百个包…算了。jquery 蛮好的
    allenpzx
        12
    allenpzx  
       Mar 12, 2020
    几百个包大部分都是开发环境依赖,生产环境 build 之后就 html + 静态资源 + 几个 bundle js (这个才是体积大,但是可以分成几个小 bundle,按需加载),a 引用 b 里面 2 个方法,b 里面一共 10 个方法,生产打包只会打包用到 2 个的方法,怎么就失控了。。。。
    bnm965321
        13
    bnm965321  
       Mar 12, 2020
    前端社区践行 DRY 原则,一个很小的函数都有单独的包
    xyx650
        14
    xyx650  
       Mar 13, 2020 via iPhone
    恐惧就对了,不然谁都以为前端不就写个 html css js 呢,是个阿猫阿狗都随便写,那转业的前端还要不要吃饭
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   762 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 73ms · UTC 21:06 · PVG 05:06 · LAX 14:06 · JFK 17:06
    ♥ Do have faith in what you're doing.