Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/29.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
Javascript 不允许加载本地资源-angular7&;电子_Javascript_Angular_Electron - Fatal编程技术网

Javascript 不允许加载本地资源-angular7&;电子

Javascript 不允许加载本地资源-angular7&;电子,javascript,angular,electron,Javascript,Angular,Electron,我在使用electron时遇到问题。我能够用ng serve完美地加载我的项目,但是当我尝试用electron打开时,它在开发工具中显示了这个错误 不允许加载本地资源:file:///C:/Users/moise/Documents/Code/electron/electron-路由测试/electron/dist/dist/index.html 我看到有些人通过更改文件路径或package.jsonconfig来修复它,但我找不到修复方法 ELECTRON/MAIN.TS 从“electron

我在使用electron时遇到问题。我能够用ng serve完美地加载我的项目,但是当我尝试用electron打开时,它在开发工具中显示了这个错误

不允许加载本地资源:
file:///C:/Users/moise/Documents/Code/electron/electron-路由测试/electron/dist/dist/index.html

我看到有些人通过更改文件路径或package.jsonconfig来修复它,但我找不到修复方法

ELECTRON/MAIN.TS

从“electron”导入{app,BrowserWindow};
从“路径”导入*作为路径;
从“url”导入*作为url;
让胜利:浏览窗口;
应用程序打开(“就绪”,创建窗口);
应用程序打开(“激活”,()=>{
如果(win==null){
createWindow();
}
});
函数createWindow(){
win=新浏览器窗口({宽度:800,高度:600});
//win.loadURL(
//url.format({
//路径名:path.join(uu dirname,`dist/project name/index.html`),
//协议:“文件:”,
//斜杠:对
//   })
// );
loadURL(`file://${dirname}/dist/index.html`)
openDevTools();
win.on(“关闭”),()=>{
win=null;
});
}
PACKAGE.JSON文件

{
“名称”:“电子路由测试”,
“版本”:“0.0.0”,
“main”:“electron/dist/main.js”,
“脚本”:{
“ng”:“ng”,
“开始”:“ng发球”,
“构建”:“ng构建”,
“测试”:“ng测试”,
“皮棉”:“ng皮棉”,
“e2e”:“ng e2e”,
“electron”:“ng build--base href./&&tsc--p electron&&electron。”
},
“私人”:没错,
“依赖项”:{
“@angular/animations”:“~7.1.0”,
“@angular/common”:“~7.1.0”,
“@angular/compiler”:“~7.1.0”,
“@angular/core”:“~7.1.0”,
“@angular/forms”:“~7.1.0”,
“@angular/platform浏览器”:“~7.1.0”,
“@angular/platform browser dynamic”:“~7.1.0”,
“@angular/router”:“~7.1.0”,
“核心js”:“^2.5.4”,
“rxjs”:“~6.3.3”,
“tslib”:“^1.9.0”,
“zone.js”:“~0.8.26”
},
“依赖性”:{
“@angular devkit/build angular”:“~0.11.0”,
“@angular/cli”:“~7.1.4”,
“@angular/compiler cli”:“~7.1.0”,
“@angular/language service”:“~7.1.0”,
“@types/electron”:“^1.6.10”,
“@types/jasmine”:“~2.8.8”,
“@types/jasminewd2”:“~2.0.3”,
“@types/node”:“~8.9.4”,
“codelyzer”:“~4.5.0”,
“电子”:“^4.0.6”,
“茉莉花芯”:“~2.99.1”,
“jasmine spec reporter”:“~4.2.1”,
“因果报应”:“~3.1.1”,
“卡玛铬发射器”:“~2.2.0”,
“因果报应报道伊斯坦布尔记者”:“~2.0.1”,
“因果报应茉莉”:“~1.1.2”,
“karma jasmine html reporter”:“^0.2.2”,
“量角器”:“~5.4.0”,
“ts节点”:“~7.0.0”,
“tslint”:“~5.11.0”,
“类型脚本”:“~3.1.6”
}
}
您的URL中有两个“dist”。我假设您在生产中遇到了这个问题(当您尝试打开内置的electron应用程序时)

您需要IF语句来加载适当的URL

if ( production ) {
  win.loadURL(`file://${__dirname}/index.html`); // It will load in production mode
} else {
  win.loadURL(`file://${__dirname}/dist/index.html`); // It will load in dev mode, when you run ng-serve
}