# 本地依赖包说明 本目录存放需要本地调试的依赖包,供各 web 项目通过 `npm link` 方式引用。 ## 目录结构 ``` local-nodemodules/ └── @cssyq/ └── ggzc-web/ # 工作主页组件库 ``` ## 首次配置 在项目根目录执行以下命令,将本地包链接到全局: ```bash # 链接 ggzc-web 到全局 cd local-nodemodules/@cssyq/ggzc-web npm link ``` ## 各 web 项目使用 在项目根目录执行以下命令,创建本地包的 symlink: ```bash # 创建 symlink for dir in txw-gxzx-web txw-kxtfwzx-web txw-mhzc-web txw-tzzx-web txw-ytzx-web txw-yygl-web; do mkdir -p $dir/node_modules/@cssyq rm -rf $dir/node_modules/@cssyq/ggzc-web ln -sf "$(pwd)/local-nodemodules/@cssyq/ggzc-web" "$dir/node_modules/@cssyq/ggzc-web" done ``` ## 完整安装所有 web 项目依赖 ```bash # 1. 创建 symlink(如上) # 2. 安装各项目依赖(使用 --prefer-offline 优先使用本地包) for dir in txw-gxzx-web txw-kxtfwzx-web txw-mhzc-web txw-tzzx-web txw-ytzx-web txw-yygl-web; do cd $dir && yarn install --prefer-offline --ignore-engines && cd .. done ``` ## 验证 link 是否成功 ```bash # 检查 link 目标是否正确 ls -la txw-mhzc-web/node_modules/@cssyq/ggzc-web # 应该显示链接到 local-nodemodules/@cssyq/ggzc-web # 或者检查包的 version cat txw-mhzc-web/node_modules/@cssyq/ggzc-web/package.json | grep version ``` ## 常见问题 ### yarn install 报 @cssyq/ggzc-web not found 需要先创建 symlink 或使用 npm link。yarn 不会自动从 local-nodemodules 查找依赖。 ### npm link 后仍然找不到包 确保在对应 web 项目的 `node_modules/@cssyq/` 下有正确的 symlink。npm link 是链接到全局,再在项目中 link 回来。 ### 更新本地包后需要重新 link 修改 `local-nodemodules/@cssyq/ggzc-web` 后,不需要重新 link。dist 目录的变动会被直接使用。