sudoy
V2EX  ›  Node.js

nodejs 用户为什么这么爱变来变去呢?

  •  
  •   sudoy · Apr 6, 2024 · 16087 views
    This topic created in 952 days ago, the information mentioned may be changed or developed.

    这似乎是前端开发人员的通病,喜欢变来变去,想一出是一出,完全不考虑连贯性。 cloudflare worker 创建项目一开始用的是 wrangler init, 后来改成了 wrangler create 了。改这么一个字也许对他来说符合它最新审美了,但是用户又要跟着他去记一个新的命令了。操!

    Supplement 1  ·  Apr 7, 2024
    打错了,新的命令叫 npm create xxx
    73 replies  •  2024-04-22 14:26:32 +08:00
    chuck1in
    chuck1in
    Apr 6, 2024
    1
    是的,感觉将来还会继续变来变去。。。。
    jwk345
    jwk345
    Apr 6, 2024 via Android❤️1
    2
    前端项目过了半年不动,打包就容易出错,因为很多包小版本更新都经常不兼容😅
    street000
    street000
    Apr 6, 2024❤️9
    3
    这就是我们前端特有的 ship fast ,你们有这样的技术吗
    drymonfidelia
    drymonfidelia
    Apr 6, 2024❤️1
    4
    过几天改成 wrangler add
    VforVendetta
    VforVendetta
    Apr 6, 2024❤️1
    5
    再过几天改成 wrangler new
    wanniwa
    wanniwa
    Apr 6, 2024
    6
    这种真想不通,这种单词有啥好改的想不通。
    Xu3Xan89YsA7oP64
    Xu3Xan89YsA7oP64
    Apr 6, 2024
    7
    让我想起了 antfu/ni ,希望多一些这种工具
    jqtmviyu
    jqtmviyu
    Apr 6, 2024❤️21
    8
    | 作用 | npm | yarn | pnpm |
    | --------- | ----------------------- | -------------------- | -------------------- |
    | 安装 | npm install | yarn install | pnpm install |
    | 安装的简写 | npm i | yarn add | pnpm add |
    | 强制安装 | | | pnpm install --force |
    | 卸载 | npm unintall | yarn remove | pnpm remove |
    | 卸载简写 | npm rm | yarn rm | pnpm rm |
    | 全局安装 | npm i xxx --global/-g | yarn global add xxx | pnpm add -g xxx |
    | 安装包(生产模式) | npm i xxx --save/-S | yarn add xxx | pnpm add xxx |
    | 开发模式安装包 | npm i xxx --save-dev/-D | yarn add xxx -dev/-D | pnpm add -D xxx |
    | 检查更新 | npm outdated | | |
    | 更新 | npm update | yarn upgrade | pnpm update |
    | 全局更新 | npm update -g | yarn global upgrade | pnpm update -g |
    | 运行 | npm run xxx | yarn run | pnpm run xxx |
    | 清除缓存 | npm cache clean | yarn cache clean | |
    | 动态包执行 | npx xxx | yarn dlx xxx | pnpm dlx xxx |
    | 查看全局安装的包 | npm list -g --depth 0 | yarn global list | pnpm list -g |
    yxzblue
    yxzblue
    Apr 6, 2024
    9
    php 就没有这种问题,5.4 还能跑
    cvooc
    cvooc
    Apr 6, 2024
    10
    纯个人想法哈, 变来变去才有些活力, 一潭死水反而没什么意思了. 当然这个现象高情商叫百花齐放, 低情商称为群魔乱舞.哈哈哈
    lxzxl
    lxzxl
    Apr 6, 2024
    11
    lisongeee
    lisongeee
    Apr 6, 2024❤️14
    12
    我在官方文档中并没有看到你说的 wrangler create 一直都是 wrangler init

    https://developers.cloudflare.com/workers/wrangler/commands/

    同时我使用 `wrangler create` 后提示 `ERROR Unknown argument: create`



    同时我查看了旧版本 https://github.com/cloudflare/wrangler-legacy 也是 wrangler init

    好奇你说的 wrangler create 是从哪里来的?
    0o0O0o0O0o
    0o0O0o0O0o
    Apr 6, 2024 via iPhone
    13
    文档和源码里都是 init ,也没有找到 init 变 create 的 issue 或者 pr ,是 ChatGPT 说的 create 吗?
    lstz
    lstz
    Apr 6, 2024 via Android
    14
    又不是政企项目,人家才不考虑 backward compatibility 呢
    Leeeeex
    Leeeeex
    Apr 6, 2024 via iPhone❤️5
    15
    @lisongeee #12 有意思,lz 疑似虚空打靶,楼下为了嘲讽不加验证就跟着嘲讽。
    llej
    llej
    Apr 6, 2024❤️1
    16
    虽然楼主可能是虚空打靶,但我认为 js 的兼容性已经强到不可思议了,所以 js 用户更加的肆无忌惮。
    总结:利好 ts
    hefish
    hefish
    Apr 6, 2024❤️2
    17
    问题不大吧,反正 op 搞个几年,也转行了。。
    kneo
    kneo
    Apr 6, 2024 via Android
    18
    没用过这个工具。
    很多时候建一个新命令是为了不破坏旧命令的兼容性。新命令新行为,旧命令旧行为。
    真背锅我看也轮不到前端。你要不然看看 git 有多少命令?
    basncy
    basncy
    Apr 6, 2024
    19
    搭车问一下, 这个 wrangler 是什么神奇的单词? SageMaker, nodejs, Cloudflare Workers, 八杆子打不着的三个玩意儿, 都跟它扯得上五毛关系. 谁来科普一下它们之间的内在美?
    FlashEcho
    FlashEcho
    Apr 6, 2024
    20
    lz 记混了吧,创建项目:npm create cloudflare@latest xxx
    创建某个 cf 产品的新实例:npx wrangler xxx create xxx
    以上这两个才有 create
    wdssmq
    wdssmq
    Apr 6, 2024
    21
    新建的命令我不知道改没改,但是 wrangler publish 确实改 wrangler deploy 了
    Plumbiu
    Plumbiu
    Apr 6, 2024
    22
    版本不对锁版本呗
    BeiChuanAlex
    BeiChuanAlex
    Apr 6, 2024❤️3
    23
    前端项目,过了一个星期,我都不知道能不能编译过。。。。。
    arfaWong
    arfaWong
    Apr 6, 2024
    24
    @BeiChuanAlex 固定 node 版本、固定包版本,有啥编译不过的?
    jellyX
    jellyX
    Apr 6, 2024
    25
    OP 怎么还没回复 12 楼的呢? 我瓜子都买好啦
    theprimone
    theprimone
    Apr 6, 2024
    26
    刚好我最近也使用了 wrangler ,这次大改动官方做了比较完善的 TS 支持,已经很不错了,总比不管用户死活好多了 😂
    512357301
    512357301
    Apr 7, 2024 via Android
    27
    @retrocode 瞎几把变容易出一身冷汗的[doge]
    p412726700
    p412726700
    Apr 7, 2024
    28
    再过几天改成 wrangler build
    winterpotato
    winterpotato
    Apr 7, 2024
    29
    哈哈哈哈哈哈 nodejs 他们还会把 happy eyeball 弄坏了不修 感兴趣可以读这个 https://dmesg.app/nodejs-dual-stack.html
    seki
    seki
    Apr 7, 2024
    30
    这都能扯得上 nodejs 用户……

    假设真的有改动,这个命令根本不高频使用吧,都是用到的时候看文档就行了,根本不需要记。难道楼主是天天新建 cf worker 项目

    另外命令叫什么不是维护者自己愿意自己改的吗,不喜欢也可以考虑不升级新版,或者自己 fork 一份想用什么单词用什么单词
    suuuch
    suuuch
    Apr 7, 2024
    31
    打个岔,当年我一直吐槽 python 的包管理很垃圾,自从写了 node 项目之后,就不说了。。
    Dragonphy
    Dragonphy
    Apr 7, 2024
    32
    @jamesxu 我是每月至少更新一次,如果有测试那就无感升级了
    Dragonphy
    Dragonphy
    Apr 7, 2024
    33
    @jqtmviyu 你需要使用 `@antfu/ni`,`ni` = ‘npm install` | `yarn install` | `pnpm install` | `bun install`
    其他同理,见 https://github.com/antfu/ni
    Dragonphy
    Dragonphy
    Apr 7, 2024
    34
    @shizhibuyu2023
    unplugin ,不得不提 Nuxt 团队给前端 DX 做了好多贡献
    FerrisCc
    FerrisCc
    Apr 7, 2024
    35
    前端的确 变化太快了 大到框架小到库 总喜欢整点新花样 学习者就痛苦了
    zhsama
    zhsama
    Apr 7, 2024
    36
    @street000 真是 shishi 又 fafa 啊
    SayHelloHi
    SayHelloHi
    Apr 7, 2024
    37
    前端项目 N 年前的项目 可能 run 不起来 一片红
    pengtikui
    pengtikui
    Apr 7, 2024
    38
    OP 怎么还没回复 12 楼的呢? 我瓜子都买好啦
    horizon
    horizon
    Apr 7, 2024
    39
    @arfaWong #24
    确实
    不过要升级的时候就想哭了😭
    qeqv
    qeqv
    Apr 7, 2024
    40
    @yxzblue 虽然没有 OP 说的这种问题,但是别的版本问题也不少。5.4 不能无缝切 5.6 ,5.6 不能无缝切 7 。
    kenvix
    kenvix
    Apr 7, 2024
    41
    前端项目记得锁版本
    securityCoding
    securityCoding
    Apr 7, 2024
    42
    @jamesxu 不能依赖锁版本吗
    yangzzzzzz
    yangzzzzzz
    Apr 7, 2024
    43
    有些 cli 更新了版本 为了和旧版不冲突 就会改这个
    Huelse
    Huelse
    Apr 7, 2024
    44
    因为 js 太 tmd 灵活了,没有版本兼容考虑,自然而然地可以玩出更多花来。
    realJamespond
    realJamespond
    Apr 7, 2024
    45
    上面 run 不起来的都没 commit lock 文件?还有 node 版本也要写到 package ,json
    T3rryy
    T3rryy
    Apr 7, 2024 via iPad
    46
    这贴有意思
    sudoy
    sudoy
    OP
    Apr 7, 2024
    47
    @lxzxl
    @lisongeee
    @0o0O0o0O0o
    @chesha1
    @jellyX
    @pengtikui
    运行 wrangler init 会提示说 init 命令将在新的版本中被淘汰,新的命令叫 npm create xxx, 我打错成 wrangler create 了
    sudoy
    sudoy
    OP
    Apr 7, 2024
    48
    @chesha1 你说的对,应该是 npm create cloudflare@latest xxx 或者 npx wrangler xxx create xxx, 反正是警告说 wrangler init 不在支持了。WARNING The `init` command is no longer supported! Please use `npm create cloudflare\@2 --test` instead.
    xieqiqiang00
    xieqiqiang00
    Apr 7, 2024 via Android
    50
    lock 恒久远,版本永流传
    sudoy
    sudoy
    OP
    Apr 7, 2024
    51
    xuyang2
    xuyang2
    Apr 7, 2024
    52
    变来变去不是问题,
    没有编译器检查才是问题
    lisongeee
    lisongeee
    Apr 7, 2024
    53
    虽然但是,现在除了旧项目用 npm ,新项目基本都用 pnpm

    很多知名的开源库,如 vue/vite/next.js 都是用的 pnpm

    pnpm 不存在你说的这个 node_modules 问题
    sampeng
    sampeng
    Apr 7, 2024
    54
    我特别不能理解的就是 nodejs 的东西 2 年后,我 tmd 编译不出来。。。
    windychen0
    windychen0
    Apr 7, 2024
    55
    @sampeng 跟开发者经验和技术水平有关吧 ,前端门槛低良莠不齐是这样的了, 我初出茅庐的时候也不会关注这些问题,现在我不仅锁死版本,依赖库都是放自己私库管理的
    sechi
    sechi
    Apr 7, 2024
    56
    @sampeng 如果锁好了依赖版本和 node 版本,应该不会出现编译不过的情况吧🤔
    cokar
    cokar
    Apr 7, 2024 via Android
    57
    想问一下,cf 的 worker 适合做什么项目呢,我感觉很不方便
    sudoy
    sudoy
    OP
    Apr 7, 2024
    58
    @cokar 能快速开发 api 服务啊,自从前阵子发现它能直接导入 html 以后,我现在甚至前端渲染直接通过 worker 了。对我来说最重要的应该是免费吧,我大部分应用程序都通过 worker 部署,其中包括盈利的软件,外部成本就只有域名费了,维护都不用,关键是不用担心同时在线人数多了怎么办这类问题。可能是习惯问题,用惯了以后,啥东西都会看一下能不能通过 worker 来实现。
    sudoy
    sudoy
    OP
    Apr 7, 2024
    59
    @cokar 不好意思偏题了,我觉得 cf worker 适合做快速开发,省去租服务器、部署环境等工作环节。自从有了 AI 加持,对于轻量级运用,从买域名到产品上线最快两根烟功夫就能发布
    sudoy
    sudoy
    OP
    Apr 7, 2024
    60
    @basncy 字面意思就是牧马人,可能是作者就是喜欢这个词吧
    sudoy
    sudoy
    OP
    Apr 7, 2024
    61
    @lisongeee 连 npm 都 tm 变,真是服了,npm 变成 pnpm ,过几年怕是又要变成 ppnpm ,ppppnpm ,pppppppnpm
    lisongeee
    lisongeee
    Apr 7, 2024
    62
    @sudoy #61

    显然你没有搞清楚 npm 和 pnpm 的关系,它们有点类似 python 里 pipenv/poetry 的关系,各有优劣

    pnpm 是某群开发者对 npm 的某些机制不满意搞出来的,从我个人认知目前情况来看,pnpm 将会成为未来很长一段时间的主流

    > 过几年怕是又要变成 ppnpm

    既然你说是那就是吧,如果你对 npm 不满意,你完全可以 pull/fork 它,用你自己的知识修改让它符合你自己的需求即可,当然大多数人都是没能力改也懒得改就只能骂了,如果我连控制台错误都(看/搜索)不出来是哪个的问题,那我就只能捏着鼻子用了
    mouyase
    mouyase
    Apr 8, 2024
    63
    应该没有什么技术是一成不变的吧。哪怕是完美语言 php 呢,不也变成了 PHP: Hypertext Preprocessor 了。
    Adelell
    Adelell
    Apr 8, 2024 via iPhone
    64
    会变说明之前的有问题
    ZacT0ny
    ZacT0ny
    Apr 8, 2024
    65
    这也能扯到 nodejs 啊?看了下回复还能扯到 npm 的问题?太过抽象了,不了解清楚直接上论坛张口就来
    xwwsxp
    xwwsxp
    Apr 8, 2024
    66
    其实,感觉应该是很多前端喜欢追新,比如:package.json 中的包通常都是 vue^3.1.2 这类的,而不是 Vue-3.1.2 ,像 Vue 这种大型的项目可能还好点,有很多人进行测试,很多个人开发者直接不单元测试的,将功能实现了就进行打包了,等用户反馈了,然后继续修改,用户还需要清理本地的 npm 包。

    其实,Java 也是类似的;不过,Java 有大一统的 SpringBoot 相对而言,目前好点;毕竟,将许多包都封装为 starter 了,毕竟这些 starter 都是各个场景的,进行了大量的测试。
    WJYuan
    WJYuan
    Apr 8, 2024
    67
    我猜修改的原因是方便用户不需要再安装 wrangler 的 cli 只需要安装 node/npm 就可以初始化项目
    如果你喜欢 init ,也可以用 npm init ,npm create 是 npm init 的别名
    lshbosheth
    lshbosheth
    Apr 8, 2024
    68
    @sudoy 啊 。。。。。。。。你咋不说变成 yarn 了。。。。
    chuck1in
    chuck1in
    Apr 8, 2024
    69
    @sudoy 恐怕不止 npm 变了。现在也不用 node 了,新的都是用 bun
    thinkwei2012
    thinkwei2012
    Apr 8, 2024
    70
    npm -> yarn -> pnpm ->? bun
    sampeng
    sampeng
    Apr 8, 2024
    71
    @windychen0 开发水平差距太多。。锁死版本。。然后依赖库又不在私有库。。在私有库,naxus 又有默认超时时间。几个月不动的依赖库又没了。反正我每年都碰到一次。
    Tink
    Tink
    Apr 15, 2024 via iPhone
    72
    不折腾怎么有 kpi ?
    NullData
    NullData
    Apr 22, 2024
    73
    你这种情况我还真没见过,这样,你先百度搜索 oracle jdk ,然后点击第一个结果进官网下载个 jdk8
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1838 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 132ms · UTC 10:58 · PVG 18:58 · LAX 02:58 · JFK 05:58
    ♥ Do have faith in what you're doing.