uni-app npx uni-dev-tools watch 自动退出

uni-app npx uni-dev-tools watch 自动退出

开发环境 版本号 项目创建方式
Windows win11 HBuilderX

产品分类:uniapp/App

PC开发环境操作系统:Windows

PC开发环境操作系统版本号:win11

HBuilderX类型:正式

HBuilderX版本号:3.2.16

手机系统:Android

手机系统版本号:Android 10

手机厂商:华为

手机机型:Mate30

页面类型:vue

vue版本:vue2

打包方式:云端

操作步骤:

E:\HBuilderProjects\ssd> npx uni-dev-tools watch
uni-app 开发辅助工具启动成功,开始监听文件变化...该工具只为简化开发人员工作,优化多人开发模式,负责将pages.json中的配置分解再合并的自动化工作,解决pages.json混乱的问题。因此pages.json不需要提交,pages.json 将会由其他文件自动生成
pages.json 创建完成
pages.json 创建完成
pages.json 创建完成
pages.json 创建完成
pages.json 创建完成
internal/validators.js:124
throw new ERR_INVALID_ARG_TYPE(name, 'string', value);
^
TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received null
at validateString (internal/validators.js:124:11)
at Object.join (path.js:375:7)
at FSWatcher.<anonymous> (E:\HBuilderProjects\ssd\node_modules\uni-dev-tools\lib\watch.js:32:26)
at FSWatcher.emit (events.js:315:20)
at FSEvent.FSWatcher._handle.onchange (internal/fs/watchers.js:186:12) {
code: 'ERR_INVALID_ARG_TYPE'
}
E:\HBuilderProjects\ssd>

预期结果:

E:\HBuilderProjects\ssd> npx uni-dev-tools watch
uni-app 开发辅助工具启动成功,开始监听文件变化...该工具只为简化开发人员工作,优化多人开发模式,负责将pages.json中的配置分解再合并的自动化工作,解决pages.json混乱的问题。因此pages.json不需要提交,pages.json 将会由其他文件自动生成
pages.json 创建完成
pages.json 创建完成
pages.json 创建完成
pages.json 创建完成
……

实际结果:

E:\HBuilderProjects\ssd> npx uni-dev-tools watch
uni-app 开发辅助工具启动成功,开始监听文件变化...该工具只为简化开发人员工作,优化多人开发模式,负责将pages.json中的配置分解再合并的自动化工作,解决pages.json混乱的问题。因此pages.json不需要提交,pages.json 将会由其他文件自动生成
pages.json 创建完成
pages.json 创建完成
pages.json 创建完成
pages.json 创建完成
pages.json 创建完成
internal/validators.js:124
throw new ERR_INVALID_ARG_TYPE(name, 'string', value);
^
TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received null
at validateString (internal/validators.js:124:11)
at Object.join (path.js:375:7)
at FSWatcher.<anonymous> (E:\HBuilderProjects\ssd\node_modules\uni-dev-tools\lib\watch.js:32:26)
at FSWatcher.emit (events.js:315:20)
at FSEvent.FSWatcher._handle.onchange (internal/fs/watchers.js:186:12) {
code: 'ERR_INVALID_ARG_TYPE'
}
E:\HBuilderProjects\ssd>

bug描述:

E:\HBuilderProjects\ssd> npx uni-dev-tools watch
uni-app 开发辅助工具启动成功,开始监听文件变化...该工具只为简化开发人员工作,优化多人开发模式,负责将pages.json中的配置分解再合并的自动化工作,解决pages.json混乱的问题。因此pages.json不需要提交,pages.json 将会由其他文件自动生成
pages.json 创建完成
pages.json 创建完成
pages.json 创建完成
pages.json 创建完成
pages.json 创建完成
internal/validators.js:124
throw new ERR_INVALID_ARG_TYPE(name, 'string', value);
^
TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received null
at validateString (internal/validators.js:124:11)
at Object.join (path.js:375:7)
at FSWatcher.<anonymous> (E:\HBuilderProjects\ssd\node_modules\uni-dev-tools\lib\watch.js:32:26)
at FSWatcher.emit (events.js:315:20)
at FSEvent.FSWatcher._handle.onchange (internal/fs/watchers.js:186:12) {
code: 'ERR_INVALID_ARG_TYPE'
}
E:\HBuilderProjects\ssd>

更多关于uni-app npx uni-dev-tools watch 自动退出的实战教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

更多关于uni-app npx uni-dev-tools watch 自动退出的实战教程也可以访问 https://www.itying.com/category-93-b0.html


这个问题是由于 uni-dev-tools 在监听文件变化时,某个文件的路径参数为 null 导致的。从错误堆栈看,问题出在 watch.js 第32行的 path.join() 方法调用,该方法期望接收字符串参数,但实际收到了 null

这种情况通常发生在以下几种场景:

  1. 监听的文件被删除或移动:当 uni-dev-tools 正在监听某个文件,而该文件被删除或移动时,可能会传递 null 路径给 path.join()

  2. 临时文件干扰:某些编辑器或系统进程可能会创建临时文件,这些文件被快速删除导致监听异常。

  3. node_modules 中的文件变化:如果监听范围包含了 node_modules 目录,该目录下的文件变化可能触发此错误。

解决方案:

  1. 检查项目目录结构:确保 pages 目录下的所有页面文件都存在且路径正确,没有缺失的页面文件。

  2. 清理并重新安装依赖

    rm -rf node_modules
    npm install
    
  3. 忽略 node_modules 目录:在项目根目录创建 .watchignore 文件,内容为:

    node_modules/
    
  4. 更新 uni-dev-tools

    npm update uni-dev-tools
    
  5. 重启监听:关闭所有相关进程后重新执行:

    npx uni-dev-tools watch
回到顶部