nw.js中子文件夹的package.json如何正确指向父目录的index.html
NW.js 跨目录入口文件配置解决方案
NW.js 的 main 字段相对路径默认以程序启动时的工作目录为基准,而非 package.json 文件所在的目录,你之前基于 package.json 位置写的上层相对路径无法匹配到正确文件。
可行配置方案
- 方案1:适配工作目录的相对路径写法
如果你每次都是在项目根目录下启动NW程序(比如执行启动命令为./NW/nw),直接将NW/package.json中的main配置为:
如果你每次都是进入"main": "index.html"NW文件夹后执行启动命令,main配置为:"main": "../index.html" - 方案2:不受工作目录影响的稳定写法
这种写法不需要考虑启动位置,适配所有场景:- 先把
NW/package.json中的main指向同目录的启动脚本:
"main": "main.js"- 在
NW文件夹内新建main.js,写入以下内容拼接绝对路径加载入口文件:
const path = require('path') nw.Window.open(path.join(__dirname, '../index.html')) - 先把
优化建议
后续如果需要打包发布项目,建议把NW.js的SDK二进制文件直接放在项目根目录,和index.html同级,不需要单独放在子文件夹,就可以直接配置"main": "index.html",省去跨目录路径处理的麻烦。
内容的提问来源于stack exchange,提问作者Samuel
相关产品推荐
相关产品推荐

