nodeJS学习笔记——包&npm(2)

本文介绍了Node.js中的包概念及如何使用npm进行管理。详细解释了包的组成结构、package.json文件的作用以及npm的常见命令。对于Node.js开发者来说,理解这些基础知识至关重要。

 

 包和npm

包就是将一些 JavaScript 文件模块组织到一起的一个目录。

包本身也可以依赖于别的包。包就是用来组织 JavaScript 模块的。包里面一般都有一个出口模块,供外部所加载和使用包。


包结构

 
  bin:存放可执行二进制文件的目录
  lib:存放 JavaScript 代码的目录
  doc:存放文档的目录
  test:存放单元测试用例的代码
  package.json:包描述文件,说明文件(做依赖管理,类似于Java中的pom文件)

 

package.json文件说明  

  • 每个项目的根目录下面,一般都有一个 `package.json` 文件
  • 定义了这个项目所需要的各种模块,以及项目的配置信息(比如名称、版本、许可证等元数据)。
  • `npm install` 命令根据这个配置文件,自动下载所需的模块,也就是配置项目所需的运行和开发环境。
  • `package.json` 文件内部就是一个JSON对象,该对象的每一个成员就是当前项目的一项设置。
  • 比如 `name` 就是项目名称,`version` 是版本。

 

package.json格式&属性说明:

{
  "name": "project-name",
  "version": "0.0.0",
  "private": true,
  "scripts": {
    "start": "node ./bin/www"
  },
  "dependencies": {
    "compression": "^1.7.4",
    "x2js": "*"
  }
}

name:包名
description:包信息简介
version:包的版本
keywords:关键词数组,用于在npm中检索的关键字
author:包作者
main:配置包的入口文件模块,缺省值是 index.js,最好配上便于阅读 
dependencies:包的依赖项,npm install 命令会通过该属性自动加载依赖包
scrips:指定了运行脚本命令的 npm命令行 缩写

 

 npm (node package manager)简介

  • npm 有两层含义:第一表示 npm 生态系统网站:提供包的平台:http://npmjs.com/第二表示一个终端下的CLI应用程序:用来安装和管理 JavaScript 包的。
  • npm 是一个 JavaScript 包管理系统(类似Java中的maven依赖管理)
  • npm 本身也是一个包,它已经作为 node 的一个默认的包管理工具了。第一次安装 node 的时候,已经自动帮你安装好这个 npm CLI应用程序了。通过在终端的任意位置输入 `npm  v` 就可以查看已安装的 npm 版本。


npm 可以单独进行升级,只需要在终端中输入 `npm install  g npm` 就可以实现升级。

 

 

 npm常用命令

1、查看npm版本:

npm -v

2、安装本地项目依赖包  :  

npm install 包名 [ --save -环境 ]

 npm 会自动帮你去远程下载这个包,然后解压到当前项目根目录下的 `node_modules` 目录下。如果 `node_modules` 目录不存在,会自动被创建。 npm install 之前,会先检查node_modules目录中是否已 存在该模块,如果存在,就不再重新安装了。 

--save` 表示把安装的依赖项保存到 package.json 文件中的 dependencies 依赖字段中
  一般上传代码的时候,不会上传第三方的东西别
    别人拿到项目的时候,先去自己执行 npm install 命令安装依赖包 
    npm install 就会自动读取 package.json 文件中的 dependencies 字符中的内容,然后依次下载

3、全局安装  :   

npm install  -g 包名

4、删除本地项目依赖包:

npm uninstall  包名

加 ` g` 参数表示安装一个全局命令行工具,就是一个CLI程序软件。
 

5、查看全局命令行安装目录(依赖包安装目录)  :   

npm root  g

6、npm 版本升级  :

 npm install  g npm

7、强制重新安装  : 

npm install 包名 –f或者—force

 

8、 npm 会自动找到 package.json 文件中 scripts 字段 中的 start 属性,然后执行里面的值

npm start

9 下载package.json中的依赖:  

npm install

npm 命令中 -- 和 - 的区别
 `npm install -g node` 和 `npm install node --global` 的区别
   `-g` 是 `--global` 的一个缩写
   `-s` 是 `--save` 的缩写
   `-h` 是 `--help` 的一个缩写
   `-v` 是 `--version` 的缩写

a111

总结
• 包就是在模块的基础之上进一步组织JavaScript代码 
• 模块的全局安装一般是安装工具性的东西,安装完成后 可以使用该工具,例如bower、gulp、http-server 
• 模块的本地局部安装一般是在项目开发中使用到的功能 性模块,和具体的代码相关。例如request、 
• 一个规范的包应该都包含一个package.json文件

 



    Sublime 插件生态系统官网
  https://packagecontrol.io/


   

 

 

 

### Node.js 学习笔记与教程 #### 初识 Node.js 和其核心概念 Node.js 是一种基于 Chrome V8 引擎构建的 JavaScript 运行环境,允许开发者使用 JavaScript 创建高性能服务器端应用程序。它通过事件驱动 I/O 模型提供高效的性能表现[^1]。 在浏览器环境中,JavaScript 的组成主要括 ECMAScript 标准、DOM(文档对象模型)、BOM(浏览器对象模型),以及一些特定于浏览器的功能扩展。而在 Node.js 中,则引入了诸如 `fs` 文件系统模块、`http` HTTP 请求处理模块等内置工具来补充功能需求。 #### 内置模块介绍 以下是几个常用的 Node.js 内置模块及其基本用途: - **FS 模块**: 提供文件系统的访问能力,可以实现同步或异步方式下的文件读取/写入操作。 ```javascript const fs = require('fs'); // 同步读取文件内容 let data = fs.readFileSync('./example.txt', 'utf8'); console.log(data); ``` - **Path 模块**: 处理并转换文件路径字符串。 ```javascript const path = require('path'); let filePath = path.join(__dirname, 'subdir', 'file.txt'); console.log(filePath); ``` - **HTTP 模块**: 构建 Web 服务的基础组件之一。 ```javascript const http = require('http'); const server = http.createServer((req, res) => { res.writeHead(200, {'Content-Type': 'text/plain'}); res.end('Hello World\n'); }); server.listen(3000, 'localhost'); console.log('Server running at http://localhost:3000/'); ``` #### 模块化开发 为了更好地组织代码结构,在 Node.js 开发过程中推荐采用模块化的编程方法。目前主流有两种规范被广泛接受和支持——CommonJS 和 ES Modules (ECMAScript Module)[^3]。 对于 CommonJS 来说,默认情况下每个 `.js` 文件都是独立的一个模块;如果想让其他地方能够调用当前定义好的函数或者变量的话就需要显式地将其暴露出去(`module.exports`) 并且由另一方接收 (`require()`) 。而对于 ES6+ 版本则提供了更加简洁优雅的方式来进行默认导出(default export)/命名导出(named exports),并通过 import 关键字完成相应加载过程。 #### NPM 工具链概述 NPM 不仅作为全球最大的开源库生态系统存在,同时也是 Node.js 应用程序的主要管理解决方案。利用 npm 我们不仅可以轻松安装第三方依赖项还可以发布自己的作品到社区共享给更多的人群受益。 另外值得一提的是 nodemon —— 一款非常实用的小插件用于监控源码变动自动重启应用进程从而极大提升调试效率。 ```bash # 安装 nodemon npm install --save-dev nodemon # 使用 nodemon 启动项目 npx nodemon app.js ``` #### 部署至云端平台 当本地测试完成后可以选择合适的服务提供商将自己的站点部署上线运行起来。比如 Heroku 就是非常受欢迎的选择因为它简单易用而且免费额度足以满足初期阶段的需求[^2]。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

刘彦青-Yannis

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值