到底用哪个包管理器啊? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
medmin
V2EX    Node.js

到底用哪个包管理器啊?

  •  
  •   medmin 2017-11-29 13:18:32 +08:00 5419 次点击
    这是一个创建于 2881 天前的主题,其中的信息可能已经有所发展或是发生改变。
    好吧,我今天才发现 bower 竟然停止运营了
    一直用 npm 和 bower
    据说 bower 是专门管前端静态资源的

    考察了一圈,yarn 是试图取代 npm,但我为啥要弃用 npm ?没理由啊。

    我只需要一个专门管理类似 bootstrap 这样的 ui 库的一个包管理器,小项目而已

    据说 Browserify 可以和 npm 搭配使用

    有类似 bower 的么?可以把 css 库安装在一个专门的 public 或者 static 目录里

    谢过。。。。
    16 条回复    2017-12-09 23:31:59 +08:00
    wxsm
        1
    wxsm  
       2017-11-29 13:49:07 +08:00   2
    bower 的存在本身就是没什么必要的。因为它能做的事情 npm 都能做,没有了 bower 你同样可以在 npm 下载 bootstrap,并从中引用你需要的 CSS。如果使用 bower 只是因为它可以帮你安装到 public 或 static 目录,那这个理由未免太牵强了,现在已经不比以往,我们可以用 webpack 来管理所有前端资源,从加载到发布。很显然 bower 也意识到了这个问题,发现自己在前端发展的道路上已经不太具有突出的价值。

    至于 yarn,它解决了老版本 npm 中存在的一些显著问题,如安装版本经常不一致,安装速度太慢等等。但是如今随着 npm 的更新,它的优势也没有以往明显了。

    所以综上来说,用 npm 就够了。
    saran
        2
    saran  
       2017-11-29 13:50:12 +08:00 via Android
    反正我只知道 npm 拖家带口……
    coolcoffee
        3
    coolcoffee  
       2017-11-29 15:18:02 +08:00
    yarn 和 npm 是同一个东西, 在 yarn 没出来之前,npm 的安装依赖速度跟蜗牛一样, 每次安装都必须等那么长时间。后来 yarn 支持版本锁定,一次安装,第二次同版本的几秒钟就完成了。

    现在 npm 新版本安装速度也还可以,比以前快多了。
    usedname
        4
    usedname  
       2017-11-29 18:40:52 +08:00
    yarn 是并行的,你没看到下载下的飞起。。。另外就是带了版本锁定
    medmin
        5
    medmin  
    OP
       2017-11-30 02:46:25 +08:00
    @coolcoffee
    @usedname
    npm 的 package.json 也有版本锁定了吧,和 php 里的 composer 差不多,还行啊。
    medmin
        6
    medmin  
    OP
       2017-11-30 02:51:51 +08:00
    @wxsm 那请问现在是怎样用 npm 这一个包管理器把前后端资源分别管理呢?
    我现在小项目真没必要用 webpack
    哎,js 太多新东西,每天都有新东西,真是有点搞不懂。
    我就一个后端程序员,用 nodejs 写写小玩意,结果搞出这么一堆事来。

    能否介绍一种类似 bower 的包管理器或者方法,总之,前后端的包分开,毕竟后端开发需要 require,前端是把资源放在 html 模板里。

    至于 webpack,真没心情搞。
    不是懒,而是说,这玩意对我目前的小网站没有任何收益。
    我已经过了为了学习新东西而学的阶段了。
    用什么工具,还是看是否有收益。

    求赐教。
    NemoAlex
        7
    NemoAlex  
       2017-11-30 03:19:36 +08:00
    不想学就不能用。
    抱歉。
    beginor
        8
    beginor  
       2017-11-30 08:23:22 +08:00 via Android
    前端资源放到 package.json 的 dependency 节点,后端资源 devDependency。
    wxsm
        9
    wxsm  
       2017-11-30 08:33:51 +08:00 via iPhone
    @medmin 使用 npm 无法将前后端资源分开。你这种情况大可以直接使用各种免费的 cdn,没必要纠结在一定要下载到本地。如 unpkg.com ,bootcdn 等。
    usedname
        10
    usedname  
       2017-11-30 10:16:36 +08:00
    @medmin #5 package.json 只是指明了版本,没有锁定版本。composer 不是还有个 composer.lock 吗 对应 yarn.lock
    sxd
        11
    sxd  
       2017-11-30 10:34:40 +08:00
    @usedname #10 package-lock.json npm5+
    hasbug
        12
    hasbug  
       2017-11-30 10:52:05 +08:00
    node,你不用 npm 用其他的干什么呢?
    usedname
        13
    usedname  
       2017-11-30 11:04:18 +08:00
    @sxd #11 不知道,node 迭代太快,更不上节奏
    alsotang
        14
    alsotang  
       2017-11-30 11:45:35 +08:00
    对于新手来说,只用 npm。忘掉 bower 和 yarn
    medmin
        15
    medmin  
    OP
       2017-11-30 14:02:01 +08:00
    @alsotang 好的大佬,本人是新手。
    JeffWong
        16
    JeffWong  
       2017-12-09 23:31:59 +08:00
    一个 npm 就足够了。 技术栈的选择有时候没必要太纠结, 当你发现当前的工具确实不能够支持你的开发的时候,再考虑使用其他工具。当你都到这种程度了,换个工具轻而易举。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     938 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 18:39 PVG 02:39 LAX 11:39 JFK 14:39
    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