为什么前端界这么喜欢用 @ 号做为包名前缀?有什么好处或者目的吗? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
GM
V2EX    Node.js

为什么前端界这么喜欢用 @ 号做为包名前缀?有什么好处或者目的吗?

  •  
  •   GM 2021-09-23 16:32:13 +08:00 9973 次点击
    这是一个创建于 1552 天前的主题,其中的信息可能已经有所发展或是发生改变。
    17 条回复    2021-10-25 10:16:05 +08:00
    AoEiuV020
        1
    AoEiuV020  
       2021-09-23 16:36:08 +08:00   1
    带 @多一级不会和别人重复,比如我有个包叫 hello, 但全局的 hello 已经有人占了,我就可以发在自己名下叫做 @AoEiuV020/hello
    randyo
        2
    randyo  
       2021-09-23 16:37:15 +08:00
    最近配置 .npmrc,设置了 registry 为淘宝源,又设置另一个私有包到私有源,发现不带 @ 它就走淘宝源,给私有包加了 @ 再配置,就可以了。这个私有包走私有源,其他包走淘宝源。
    L1shen
        4
    L1shen  
       2021-09-23 16:38:06 +08:00   2
    @ 代表是 npm 上的一个组织,也有命名空间的作用
    ayase252
        5
    ayase252  
       2021-09-23 16:39:30 +08:00
    避免 npm 包命名冲突。
    比如 facebook 上传了个叫 react 的包,其他所有开发者都不能够使用 react 这个名字了。
    cydysm
        6
    cydysm  
       2021-09-23 16:44:13 +08:00
    https://docs.npmjs.com/cli/v7/using-npm/scope
    这个叫 scope
    Scopes are a way of grouping related packages together, and also affect a few things about the way npm treats the package.

    Each npm user/organization has their own scope, and only you can add packages in your scope. This means you don't have to worry about someone taking your package name ahead of you. Thus it is also a good way to signal official packages for organizations.
    suzic
        7
    suzic  
       2021-09-23 17:24:51 +08:00 via Android
    好像是谷歌先这么干的
    dropsio
        8
    dropsio  
       2021-09-23 18:09:21 +08:00
    一切源于模仿...
    Biwood
        9
    Biwood  
       2021-09-23 18:22:00 +08:00   5
    什么叫喜欢用 @ ,这不是 npm 中的 scope 定义方式吗,通过这帖子发现不少“知其然不知其所以然”的人
    mightofcode
        10
    mightofcode  
       2021-09-23 18:33:18 +08:00
    yep
    KouShuiYu
        11
    KouShuiYu  
       2021-09-23 18:39:47 +08:00
    因为这是 npm 推荐的方式 https://docs.npmjs.com/cli/v7/using-npm/scope
    GM
        12
    GM  
    OP
       2021-09-24 08:40:08 +08:00
    @Biwood 这位兄台,莫非你对所有东西都“知其然且知其所以然”?你从来不碰到疑问?碰到不了解的事情你都不问问题??
    OliveGlaze
        13
    OliveGlaze  
       2021-09-24 16:54:56 +08:00
    前端工程化,@表示 scope

    至于为啥用 @表示就不清楚了。我只能说 convention 千千万,能找到个常用符号表示就说明这个 convention 是还算是值得一学一用的。
    magicdawn
        14
    magicdawn  
       2021-09-24 18:33:33 +08:00
    前端还喜欢 包 @版本

    npm i lodash@latest

    就是取 @的 At 意思吧, 然后 @username / orgname 表示用户的, 互联网上大家用惯了, weibo twitter
    alanhe421
        15
    alanhe421  
       2021-10-05 21:55:51 +08:00
    scope......
    zxCoder
        16
    zxCoder  
       2021-10-16 08:03:25 +08:00
    还喜欢用 @next
    dany813
        17
    dany813  
       2021-10-25 10:16:05 +08:00
    @yunyuyuan 这个解释的不错
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     961 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 22:07 PVG 06:07 LAX 14:07 JFK 17:07
    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