zoukankan      html  css  js  c++  java
  • npm 的作用

    接触 npm 也有一个多月的时间了,一直只是将他作为当着 webstorm + node.js 环境中的一个插件来用(甚至说把她当着命令来用)。毕竟大部分的时间,他是输入的命令行中的一部分(别笑,小新人真的会存在这个问题)。这几天决定好好整理一下关于 npm ,收藏在这了。

    -------------------------------------------------------------------------------------

    1、安装

    现在 npm (全称是 Node Package Manager) 都是集成在node.js中的,所以基本上 node.js 安装成功后,npm 也就安装成功了。

    在(webstorm 或者 node.js)命令行界面输入 npm -v 查看安装的 npm 的版本,同时也可以验证 npm 是否安装成功。

    2、介绍

    一个伟大的拥有“懒惰、急躁和傲慢”等三大程序员美德的程序员 Isaac Z. Schlueter,实在受不了原本的代码共享的方式,想要创建一个更加简单易操作的包管理器。在下载别人的共享代码的时候,就不需要满世界的去找网站下载。然后他就利用 JS 写出了 npm (不得不说大神就是这么任性,github的创始人也是~)。

    3、具体步骤

    NPM 的思路大概是这样的:

    1. 买个服务器作为代码仓库(registry),在里面放所有需要被共享的代码

    2. 发邮件通知 jQuery、Bootstrap、Underscore 作者使用 npm publish 把代码提交到 registry 上,分别取名 jquery、bootstrap 和 underscore(注意大小写)

    3. 社区里的其他人如果想使用这些代码,就把 jquery、bootstrap 和 underscore 写到 package.json 里,然后运行 npm install ,npm 就会帮他们下载代码

    4. 下载完的代码出现在 node_modules 目录里,可以随意使用了。

    这些可以被使用的代码被叫做「包」(package),这就是 NPM 名字的由来:Node Package(包) Manager(管理器)。

    4、发展

    Isaaz 通知 jQuery 作者 John Resig,他会答应吗?这事儿不一定啊,对不对。

    只有社区里的人都觉得 「npm 是个宝」的时候,John Resig 才会考虑使用 npm。

    那么 npm 是怎么火的呢?

    npm 的发展是跟 Node.js 的发展相辅相成的。

    Node.js 是由一个在德国工作的美国程序员 Ryan Dahl 写的。他写了 Node.js,但是 Node.js 缺少一个包管理器,于是他和 npm 的作者一拍即合、抱团取暖,最终 Node.js 内置了 npm。

    后来的事情大家都知道,Node.js 火了。

    随着 Node.js 的火爆,大家开始用 npm 来共享 JS 代码了,于是 jQuery 作者也将 jQuery 发布到 npm 了。

    所以现在,你可以使用 npm install jquery 来下载 jQuery 代码。

    现在用 npm 来分享代码已经成了前端的标配。

    5、后续

    Node.js 目前由 Ryan Dahl 当时所在的公司 joyent 继续开发。Ryan Dahl 现在已经去研究 AI 和机器学习了,并且他把 Node.js 的维护权交给了 Isaaz。(我是不是也应该去研究 AI 和机器学习啊教练)

    而 Isaaz 维护了一段时间后,辞职了,成立了一个公司专门维护 npm 的 registry,公司名叫做 npm 股份有限公司……谁说开源不能赚钱的~

    -------------------------------------------------------------------------------------

    为啥写着写着有一种冲动去写篇关于 node.js 的介绍文档呢~这一定是我的错觉。不过 node.js 这一块我确实还是皮毛阶段,大概知道他怎么用,实际的具体功能等,好像还真的是没有那么清楚。下一篇就整理 node.js 吧。就是这样。

    npm 教程参考:http://www.runoob.com/nodejs/nodejs-npm.html

  • 相关阅读:
    自学Python编程的第二天----------来自苦逼的转行人
    自学Python编程的第一天----------来自苦逼的转行人
    A-B 高精度
    A+B 高精度
    [NOI2002]银河英雄传说
    口袋的天空
    修复公路(并查集)
    并查集
    Surjectivity is stable under base change
    为什么Fourier分析?
  • 原文地址:https://www.cnblogs.com/lilala-world/p/7421545.html
Copyright © 2011-2022 走看看