第二课:模块化编程与NPM生态

课程目标:

  • 掌握CommonJS模块系统的基本原理和使用方法。
  • 学会创建和管理自定义模块及包。
  • 熟悉npm的常用命令,包括安装、更新和发布包。
  • 能够解析package.json文件并进行依赖管理。

1. CommonJS模块系统(require/exports)

  • 模块化编程的概念和重要性。
  • CommonJS规范的核心思想:每个文件都是一个模块,模块使用require导入其他模块,使用exports导出本模块的内容。
/** math.js文件定义了两个函数,并使用module.exports导出它们 */

// math.js

function add(a, b) {

    return a + b;

}

function subtract(a, b) {

    return a - b;

}

module.exports = {

    add,

    subtract

};



/** main.js文件使用require导入math.js模块,并调用其导出的函数 */

// main.js

const math = require('./math');

console.log(math.add(2, 3)); // 输出: 5

console.log(math.subtract(5, 2)); // 输出: 3

2. 创建自定义模块与包管理

  • 如何组织一个自定义模块,包括源代码文件、测试文件等。
  • 如何将自定义模块打包成一个npm包,并发布到npm仓库。
/** 假设我们要创建一个简单的日志模块,文件定义了一个简单的日志函数,并导出它 */

// index.js
function log(message) {
    console.log(`[LOG] ${message}`);
}

module.exports = log;

/** 创建一个package.json文件,文件包含了包的基本信息,如名称、版本、描述等,通过npm publish命令可以将包发布到npm仓库 */

{

    "name": "your-logger",

    "version": "1.0.0",

    "description": "A simple logger module",

    "main": "index.js",

    "scripts": {},

    "keywords": ["logger", "node", "javascript"],

    "author": "Your Email",

    "license": "ISC"

}

发布步骤:

  • 登录npm账号。
  • 在项目根目录运行npm publish命令。

3. npm常用命令(安装、更新、发布包)

  • npm的基本使用方法,包括安装、更新和发布包。
  • 如何使用npm来管理项目的依赖。
  • 安装一个包(例如express)
npm install express
  • 更新已安装的包
npm update express
  • 全局安装一个包(例如typescript)
npm install -g typescript
  • 发布一个自定义包
npm publish

总结

  • npm install命令用于安装一个包到当前项目。
  • npm update命令用于更新已安装的包到最新版本。
  • npm install -g命令用于全局安装一个包,使其可以在命令行中全局使用。
  • npm publish命令用于将自定义包发布到npm仓库。

4. 解析package.json与依赖管理

  • package.json文件的结构和作用。
  • 如何管理项目的依赖,包括安装、更新和删除依赖。
  • package-lock.json文件的作用和生成机制。
  • 一个典型的package.json文件
{

    "name": "my-app",

    "version": "1.0.1",

    "description": "A simple Node.js app",

    "main": "index.js",

    "scripts": {

        "dev": "node index.js",
        "start": "pm2 start index.js -n my-server"

    },

    "dependencies": {

        "express": "^4.17.1"

    },

    "devDependencies": {

        "nodemon": "^2.0.4"

    },

    "author": "Your Email",

    "license": "ISC"

}

注解:

  • dependencies字段列出了项目运行时所需的依赖包。
  • devDependencies字段列出了项目开发时所需的依赖包(如测试工具、构建工具等)。
  • scripts字段定义了一些自定义的脚本命令,可以通过npm run <script>来执行。
  • package-lock.json文件记录了项目依赖的确切版本信息,确保在不同环境下安装时能得到一致的结果。

这节课主要内容:包括CommonJS模块系统、自定义模块与包管理、npm常用命令以及package.json与依赖管理,这将是我们后边开发Nodejs系统的框架主要内容及命令内容。

关注我!!🫵 持续Nodejs服务器开发内容。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值