You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

NW.js中srcDir设为../dist触发glob模式错误的原因咨询

问题:nwbuild配置srcDir结合glob:true时触发路径错误的原因

源文件夹为/dist,在/tool/run.js中运行NW.js脚本。当配置nwbuild的srcDir为"../dist"且glob设为true(默认值)时,触发找不到srcDir(/dist)的glob模式错误,但将glob设为false时可正常运行,想咨询该配置错误的原因。

文件夹结构

/
  /build

  /dist
      /html
      package.json

  /tool
    run.js

运行代码(/tool/run.js)

await nwbuild({
  platform: "linux",
  arch: "x64",
  srcDir: "../dist",
  outDir: "../build/linux64",
  glob: true // true by default
});

原因分析与解决办法

核心原因

当glob: true时,nwbuild会将srcDir的参数当作glob匹配模式来解析,而非普通的目录路径:

  • ../dist作为glob模式,默认会匹配上级目录下名为dist的文件,而不是dist目录本身——glob的匹配逻辑是优先匹配文件,除非你明确指定要匹配目录或目录下的内容。
  • 当glob: false时,nwbuild会直接把srcDir当作普通文件系统目录路径处理,自然能正确定位到../dist目录。

解决办法

有两种简单的修复方式:

  1. 修改glob匹配模式:把srcDir改成../dist/**,用glob通配符明确匹配dist目录下的所有文件和子目录:
    await nwbuild({
      platform: "linux",
      arch: "x64",
      srcDir: "../dist/**",
      outDir: "../build/linux64",
      glob: true
    });
    
  2. 明确标识为目录路径:在路径末尾加上斜杠../dist/,让glob识别这是一个目录:
    await nwbuild({
      platform: "linux",
      arch: "x64",
      srcDir: "../dist/",
      outDir: "../build/linux64",
      glob: true
    });
    

内容的提问来源于stack exchange,提问作者RedGiant

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 02:57:09