Day14 NodeJS-NPM I

终於进入NodeJS中最为人知的套件管理系统NPM了,不讳言的当初对NodeJS一知半解的我对於NodeJS的特色只听说过NPM,今天就要对NPM做个简单的介绍。

NPM

NPM(Node Packages Manager)是NodeJS中套件管理系统,可以管理、安装NodeJS非常丰富且大量的开放原始码套件,包含套件版本的与套件相依性的管理,这些开放原始码的套件都是透过NPM Registry的机制发布的,开发人员可以透过此机制发布个人开发的套件,也能藉由使用其他人开发的套件让自己的程序站在巨人的肩膀上。

NPM的套件版本管理是依据Semantic Versioning(语意化版本)进行,语意化版本以「主版号.次版号.修订号」的形式表示,其中修订号用於更新修正错误後的版本、次版号为新增部份内容,两种版本更新都能让使用套件的程序码维持正常运作,但主板号的更新可能会导致程序码无法执行,在更新前需要仔细确认内容。

开始使用NPM

  1. 在开始使用之前,先透过终端机确认NPM已被安装。

https://ithelp.ithome.com.tw/upload/images/20210929/20139980H5HYgWNWlx.png

  1. 使用终端机开启程序的所在资料夹,以npm init进行初始化以创建一个纪录套件的package.json档案。

https://ithelp.ithome.com.tw/upload/images/20210929/20139980iyRC3YXRgt.png

  1. 依序输入栏位後,会产生package.json档案的预览,确认输出後可以在目标资料夹找到新建好的package.json档,用於後续安装套件的管理。

https://ithelp.ithome.com.tw/upload/images/20210929/20139980SPy2ub2zCy.png

https://ithelp.ithome.com.tw/upload/images/20210929/20139980EZXgHHV3ww.png

  1. 开启档案可以确认透过npm init产制的package.json档,其中的scripts部份,是透过在终端机下npm指令可以执行的内容。

https://ithelp.ithome.com.tw/upload/images/20210929/20139980qHeaUrJqKb.png

  1. scripts中的start说明,在终端机输入npm start会以Node执行server.js (Day13的程序码,以JSON传送物件至浏览器),开启浏览器可以确认服务器程序码执行中。

https://ithelp.ithome.com.tw/upload/images/20210929/20139980le8Msg4bO3.png

https://ithelp.ithome.com.tw/upload/images/20210929/20139980fKbCD7rbhh.png

小结

以上是NPM简介与开始使用的第一步,明天会以NPM的套件安装与相依性为主题。

今天在写NPM的部份的时候,有发现官网有帐号申请的功能,不确定有没有人跟我遇到一样的疑问,顺便提一下~NPM不用申请帐号也可以安装和使用套件,倒是有看到发布套件的教学就需要帐号了。

参考资料

https://semver.org/lang/zh-TW/

https://www.npmjs.com

Learn and Understand NodeJS [课程]


<<:  Day 24:让iOS也吃到SQL Delight

>>:  【把玩Azure DevOps】Day17 CI/CD从这里:Pipeline设定Schedule,每日晚上排程执行

Re: 新手让网页 act 起来: Day22 - React Hooks 之 useCallback

前言 useCallback 常常会被用来优化效能,减少 React 不必要的 render ,但如...

【设计+切版30天实作】|Day 4 - 参考Bootstrap画出理想的header(下集)

设计大纲 上一集设计完header的满版背景後,今天会设计Navigation bar。Navbar...

[Day 5] SRE - 发动测试左移之术,预视未来的机制

测试左移(Shift Left Testing ) 如何事件左移 事先演练未来排定作业 因为团队会在...

【第13天】训练模型-优化器(Optimizer)

摘要 优化器演算法比较 1.1 浅谈优化器演算法 1.2 设计实验 1.3 函数设定 1.4 纪录学...

[13th][Day12] docker commit

前几天我都是 pull 别人 build 好的 docker image , 那麽如何编辑一个属於自...