首页
/ Modern.js Module 开发指南:环境准备与基础概念解析

Modern.js Module 开发指南:环境准备与基础概念解析

2025-07-08 05:41:30作者:凤尚柏Louis

前言

Modern.js 是一个现代化的前端开发解决方案,其中的 Module 功能模块为开发者提供了构建高质量 npm 包的强大工具。在开始使用 Modern.js Module 之前,我们需要做好充分的准备工作,并理解一些基础概念。本文将详细介绍这些预备知识。

开发环境配置

Node.js 环境要求

Modern.js Module 要求开发者使用 Node.js 16.0.0 或更高版本。选择长期维护版本(LTS)是明智之举,因为这些版本经过充分测试,稳定性更有保障。

对于多项目开发的场景,建议使用版本管理工具:

  • Mac/Linux 用户:推荐使用 nvm (Node Version Manager)
  • Windows 用户:可以使用 nvm-windows

这些工具允许你在不同项目间快速切换 Node.js 版本,满足不同项目的版本需求。

包管理器选择

安装 Node.js 后,默认会附带 npm (Node Package Manager)。除了 npm 外,Modern.js 推荐使用 pnpm 作为包管理工具,它提供了更快的安装速度和更高效的磁盘空间利用。

安装 pnpm 非常简单:

npm install -g pnpm

npm 包基础概念

什么是 npm 包

npm 包是 JavaScript 的代码模块,可以通过 npm 注册表(npm Registry)进行发布和共享。一个 npm 包项目的核心是 package.json 文件,它包含了项目的元数据和依赖信息。

创建 npm 包项目的基本步骤:

  1. 新建项目目录
  2. 执行 npm init 命令
  3. 填写项目信息

生成的 package.json 文件示例:

{
  "name": "my-package",
  "version": "1.0.0",
  "description": "示例 npm 包",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "license": "MIT"
}

依赖管理

npm 包可以依赖其他包,这些依赖分为两类:

  1. 生产依赖(dependencies):项目运行时必需的依赖
  2. 开发依赖(devDependencies):仅在开发和测试时需要的依赖

添加依赖的方式:

# 添加生产依赖
npm install package-name
# 或
pnpm add package-name

# 添加开发依赖
npm install package-name --save-dev
# 或
pnpm add package-name -D

依赖版本遵循语义化版本控制(SemVer),格式为 主版本号.次版本号.修订号

Modern.js Module 配置文件

Modern.js Module 使用 modern.config.ts (或 .js) 文件进行配置。基本配置如下:

import { moduleTools, defineConfig } from '@modern-js/module-tools';

export default defineConfig({
  plugins: [moduleTools()],
  buildPreset: 'npm-library',
});

defineConfig 函数提供了类型提示支持,但不是必须的。你也可以直接导出配置对象:

import { moduleTools } from '@modern-js/module-tools';

export default {
  plugins: [moduleTools()],
  buildPreset: 'npm-library',
};

进阶概念

包入口点

package.json 中的 mainmodule 字段定义了包的入口:

  • main:CommonJS 模块入口
  • module:ES 模块入口(供打包工具如 webpack 使用)

现代打包工具会优先使用 module 字段指定的入口。

脚本生命周期

package.jsonscripts 字段支持定义各种脚本命令,包括:

  • 常规脚本:npm run script-name
  • 前置/后置脚本:prescript-namepostscript-name 会自动在对应脚本前后执行
  • 特殊生命周期脚本:如 prepare, prepublishOnly

peerDependencies

当你的包是另一个主包的插件时,可以使用 peerDependencies 声明与主包的版本兼容性,而不将其作为直接依赖。

总结

在开始使用 Modern.js Module 开发 npm 包前,确保:

  1. 安装了正确的 Node.js 版本
  2. 选择了合适的包管理器(推荐 pnpm)
  3. 理解了 npm 包的基本结构和依赖管理
  4. 熟悉 Modern.js 的基本配置方式

掌握这些基础知识后,你将能够更顺利地使用 Modern.js Module 进行开发工作。