UNPKG

hudada-cli

Version:

专为程序员准备的本地文档搜索,快捷开发工具

266 lines (206 loc) 4.15 kB
# 方式 1:Windows 系统环境变量(推荐,永久有效) setx NPM_TOKEN "your_npm_token_here" setx GITHUB_TOKEN "your_github_token_here" # 方式 2:当前会话(临时) set NPM_TOKEN=your_npm_token_here set GITHUB_TOKEN=your_github_token_here # 方式 3:创建 .env 文件(项目级别) cp .env.example .env # 然后编辑 .env 文件填入实际的令牌值 # 验证 NPM 令牌 npm whoami # 验证 GitHub 令牌 curl -H "Authorization: token xxxxxxxxxxxxxx" https://api.github.com/user # 测试发布配置 npm run release -- --dry-run # NPM 高级特性指南 改变日志记录格式:https://keepachangelog.com/en/1.1.0/ ## 1. 工作区(Workspaces) ### 1.1 基本概念 Workspaces 允许我们在一个仓库中管理多个包,适用于 monorepo 项目。 ```json // package.json { "workspaces": [ "packages/*" ] } ``` ### 1.2 常用命令 ```bash # 在指定工作区执行命令 npm run test --workspace=package-name # 在所有工作区执行命令 npm run test --workspaces ``` ## 2. npm scripts 高级用法 ### 2.1 生命周期脚本 ```json { "scripts": { "preinstall": "echo '安装前执行'", "install": "echo '安装时执行'", "postinstall": "echo '安装后执行'", "prepublish": "npm test", "publish": "echo '发布中'", "postpublish": "echo '发布完成'" } } ``` ### 2.2 并行与串行执行 ```json { "scripts": { "parallel": "npm run task1 & npm run task2", "sequential": "npm run task1 && npm run task2" } } ``` ### 2.3 跨平台命令 ```json { "scripts": { "clean": "rimraf dist", "copy": "copyfiles -u 1 src/**/*.html dist" } } ``` ## 3. 依赖管理高级特性 ### 3.1 peer dependencies ```json { "peerDependencies": { "react": ">=16.8.0", "react-dom": ">=16.8.0" } } ``` ### 3.2 optional dependencies ```json { "optionalDependencies": { "optional-package": "^1.0.0" } } ``` ### 3.3 bundled dependencies ```json { "bundledDependencies": [ "package-name" ] } ``` ## 4. npm 配置管理 ### 4.1 .npmrc 文件 ```ini registry=https://registry.npm.taobao.org/ save-exact=true package-lock=false ``` ### 4.2 环境变量 ```bash # 设置环境变量 npm config set production true # 使用环境变量 process.env.NODE_ENV ``` ## 5. 私有包和组织 ### 5.1 创建组织 ```bash npm org create my-org ``` ### 5.2 管理访问权限 ```bash # 添加用户到组织 npm team add my-org:developers username # 设置包访问权限 npm access public package-name npm access restricted package-name ``` ## 6. npm audit 和安全 ### 6.1 安全审计 ```bash # 执行安全审计 npm audit # 自动修复 npm audit fix # 生成详细报告 npm audit --json ``` ### 6.2 更新策略 ```bash # 检查更新 npm outdated # 更新到最新版本 npm update # 更新特定包 npm update package-name ``` ## 7. 缓存管理 ### 7.1 缓存命令 ```bash # 清理缓存 npm cache clean --force # 验证缓存 npm cache verify # 添加到缓存 npm cache add package-name ``` ### 7.2 离线安装 ```bash # 从缓存安装 npm install --offline # 优先使用缓存 npm install --prefer-offline ``` ## 8. 发布策略 ### 8.1 版本控制 ```bash # 预发布版本 npm version prerelease --preid=alpha # 发布标签 npm publish --tag beta ``` ### 8.2 发布配置 ```json { "publishConfig": { "registry": "https://npm.pkg.github.com/", "access": "public" } } ``` ## 9. Hook 脚本 ### 9.1 package.json hooks ```json { "scripts": { "prepare": "husky install", "prepublishOnly": "npm test && npm run lint", "preversion": "npm test", "version": "npm run build", "postversion": "git push && git push --tags" } } ``` ### 9.2 Git Hooks ```bash # 使用 husky 配置 Git hooks npx husky add .husky/pre-commit "npm test" ``` ## 10. 调试技巧 ### 10.1 日志级别 ```bash # 显示详细日志 npm install --loglevel verbose # 显示调试信息 npm install --loglevel silly ``` ### 10.2 性能分析 ```bash # 显示安装时间 npm install --timing # 生成性能报告 npm install --timing --loglevel verbose > npm-debug.log ```