Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Electron项目无法使用正确的路径创建文件_Electron_Filepath - Fatal编程技术网

Electron项目无法使用正确的路径创建文件

Electron项目无法使用正确的路径创建文件,electron,filepath,Electron,Filepath,我有一个函数,它试图用以下路径加载一个.ejs文件 function PaintNewOpponent() { ejs.renderFile('views/NewOpponent.ejs', {pPlayer:pPlayerLocal}, function(err, str) { $("#AddPlayerDialog").html(str); alert(err) RenderEvents(); FillInModalinformatio

我有一个函数,它试图用以下路径加载一个.ejs文件

function PaintNewOpponent() {

ejs.renderFile('views/NewOpponent.ejs', {pPlayer:pPlayerLocal}, function(err, str) {
    $("#AddPlayerDialog").html(str);
    alert(err)

    RenderEvents();
    FillInModalinformation()        
});
}

我已使用_dirname运行了警报检查,并发现我位于正确的目录中。下面是Visual Studio代码中“我的资源管理器”窗口的屏幕截图

html目录在我的根目录中__dirname返回我在/html/js中。paintnewhatcher()位于我的newhatcher.js文件中。然而,ejs.renderFile调用返回时出错,表示它无法归档该文件。一切就绪

如有必要,这里是package.json文件

{
  "name": "combattracker",
  "version": "3.0.0",
  "description": "AutoHARP 3: Combat Tracker",
  "main": "index.js",
  "license": "ISC",
  "scripts": {
    "start": "electron .",
    "package-mac": "electron-packager . --overwrite --platform=darwin --arch=x64 --icon=assets/icons/mac/icon.icns --prune=true --out=release-builds",
    "package-win": "electron-packager . electron-tutorial-app --overwrite --asar=true --platform=win32 --arch=ia32 --icon=assets/icons/win/icon.ico --prune=true --out=release-builds --version-string.CompanyName=CE --version-string.FileDescription=CE --version-string.ProductName=\"AutoHARP 3\"",
    "package-linux": "electron-packager . electron-tutorial-app --overwrite --asar=true --platform=linux --arch=x64 --icon=assets/icons/png/icon.png --prune=true --out=release-builds"
  },
  "author": "David Klecker",
  "dependencies": {
    "bootstrap": "^4.5.2",
    "bootstrap-sass": "^3.4.1",
    "commonjs": "0.0.1",
    "ejs": "^3.1.5",
    "electron": "^10.1.2",
    "electron-alert": "^0.1.11",
    "electron-reload": "^1.5.0",
    "embed-js": "^5.0.4",
    "jquery": "^3.5.1",
    "parser": "^0.1.4",
    "popper.js": "^1.16.1",
    "uniter": "^2.16.0",
    "xml2js": "^0.4.23",
    "xmlbuilder": "^15.1.1"
  },
  "devDependencies": {
    "electron-packager": "^15.1.0"
  }
}

我不知道这是否有帮助,但我所做的是使用库构建一个绝对路径(实际上我使用它是为了跨平台兼容性,因为我经常需要将路径保存到文件)


我不知道这是否有帮助,但我所做的是使用库构建一个绝对路径(实际上我使用它是为了跨平台兼容性,因为我经常需要将路径保存到文件)


我还将js/添加到路径的前面,认为目录可能是链接脚本的html页面的路径。这也没有解决这个问题。我还将js/添加到路径的前面,认为目录可能是链接脚本的html页面的路径。这也没有解决这个问题。像这样的事情可能必须得到解决。我希望我知道为什么这个项目会发生这种情况。以前的项目不需要绝对路径。但我会继续前进,暂时给它一个绝对路径,直到我们弄清楚为什么相对路径不起作用。非常感谢。像这样的事情可能必须解决。我希望我知道为什么这个项目会发生这种情况。以前的项目不需要绝对路径。但我会继续前进,暂时给它一个绝对路径,直到我们弄清楚为什么相对路径不起作用。非常感谢。
const iconPath = upath.joinSafe(__dirname, 'app', 'assets', 'win_icon_64x64.png');