Javascript 我对Node';电子渲染器中的readFile方法?
我已经创建了一个最小复制应用程序,它基于“typescript+webpack”演示了我的问题。为了证明我的问题,我做了一些修改,您可以。自述文件包含所有必要的复制说明(非常简单) 基本上,我所做的是创建一个Javascript 我对Node';电子渲染器中的readFile方法?,javascript,node.js,typescript,electron,electron-forge,Javascript,Node.js,Typescript,Electron,Electron Forge,我已经创建了一个最小复制应用程序,它基于“typescript+webpack”演示了我的问题。为了证明我的问题,我做了一些修改,您可以。自述文件包含所有必要的复制说明(非常简单) 基本上,我所做的是创建一个src/other.html文件,我的目标是加载该文件的内容并用新内容替换#main contentdiv的内容(位于src/index.html)。执行此操作的代码位于src/renderer.ts中,但下面是有问题的代码: 从“fs”导入fs; 从“路径”导入路径; const cont
src/other.html
文件,我的目标是加载该文件的内容并用新内容替换#main content
div的内容(位于src/index.html
)。执行此操作的代码位于src/renderer.ts
中,但下面是有问题的代码:
从“fs”导入fs;
从“路径”导入路径;
const contentElement=document.getElementById(“主内容”);
const linkElement=document.getElementById(“开关”);
如果(!contentElement)抛出“找不到主内容div.”;
如果(!linkElement)抛出“找不到链接元素”;
linkElement?.addEventListener(“单击”,(事件)=>{
event.preventDefault();
const href=linkElement.getAttribute(“href”);
如果(href){
const fullPath=path.join(uu dirname,href);
log(`Full path:${fullPath}`);
fs.readFile(完整路径,(错误,数据)=>{
如果(错误)抛出错误;
//显示所选页面
contentElement.innerHTML=“”;
insertAdjacentHTML(“beforeend”,data.toString());
});
}
});
它添加了一个单击处理程序,该处理程序获取href属性值,并尝试使用\uuu dirname
构建新文件的路径,前提是两个HTML文件位于同一目录中
我在开发人员控制台中遇到以下错误,而不是按预期工作的代码:
我查看了Resources
目录,该目录预计electron.asar
将位于其中,但我只看到default\u app.asar
和其他一些不相关的内容。我想这就是我出错的原因。我对javascript/typescript或其周围的任何生态系统了解不够,无法真正理解这里发生了什么
一些版本号:
v6 beta 54electron forge
11.0.3electron
12.20.0节点
Uncaught Error: Invalid package /Users/taylorthurlow/Temp/electron-problem-min-repro/node_modules/electron/dist/Electron.app/Contents/Resources/electron.asar
at createError (electron/js2c/asar_bundle.js:5)
at Object.e.readFile (electron/js2c/asar_bundle.js:5)
at HTMLAnchorElement.<anonymous> (renderer.ts:50)
createError @ electron/js2c/asar_bundle.js:5
e.readFile @ electron/js2c/asar_bundle.js:5
(anonymous) @ renderer.ts:50
Full path: /Users/taylorthurlow/Temp/electron-problem-min-repro/node_modules/electron/dist/Electron.app/Contents/Resources/electron.asar/renderer/other.html