Electron - 无法加载资源:net::ERR_FILE_NOT_FOUND
Electron - Failed to load resource: net::ERR_FILE_NOT_FOUND
相对较新的电子领域:
我尝试了一些方法来解决这个问题,例如使用 ./
代替 /
或在 packaging.json 中添加 "homepage" :
,但仍然无效。
我正在尝试导入这两个
<script src="node_modules/gridstack/dist/gridstack-h5.js"></script>
<link href="node_modules/gridstack/dist/gridstack.min.css" rel="stylesheet"/>
我的json:
{
"name": "login",
"version": "1.0.0",
"homepage":"./",
"main": "main.js",
....
}
html:
<!DOCTYPE html>
<head>
<title>Infomation Board </title>
<link rel="stylesheet" href="../styles/styles.css" />
<script src="node_modules/gridstack/dist/gridstack-h5.js"></script>
<link href="node_modules/gridstack/dist/gridstack.min.css" rel="stylesheet"/>
</head>
<body>
...
..
当我 运行 调试时,我遇到了以下错误之一:
GET file:///C:/node_modules/gridstack/dist/gridstack-h5.js net::ERR_FILE_NOT_FOUND
GETfile:///C:/Users/whatd/OneDrive/Desktop/Amazon%20Verson%202/src/directories/node_modules/gridstack/dist/gridstack.min.css net::ERR_FILE_NOT_FOUND
目录:
我该如何解决这个问题?
我认为 package.json
文件中的 "homepage":
行是 React 的东西。如果您不使用 React,则可以删除 "homepage":
行。
package.json
文件中的 "main":
行是 Electron 应用程序的入口点。因此,如果启动的 js 文件是 "main.js"
那么 "main": "main.js"
是正确的。
package.json
{
"name": "login",
"version": "1.0.0",
"main": "main.js",
...
}
如果您要在 main.js
文件中创建 info-board window,那么您可以这样做。
main.js
// Electron module(s).
const electronApp = require('electron').app;
const electronBrowserWindow = require('electron').BrowserWindow;
// Node module(s).
const nodePath = require('path');
// Declare window (no garbage collect).
let infoBoardWindow;
// Application is now ready to start.
electronApp.on('ready', () => {
// Create the info-board window.
infoBoardWindow = new electronBrowserWindow({
x: 0,
y: 0,
width: 800,
height: 600,
show: false,
webPreferences: {
nodeIntegration: false,
contextIsolation: true,
worldSafeExecuteJavaScript: true,
enableRemoteModule: false,
preload: nodePath.join(__dirname, 'preload.js')
}
});
// Load the info-board window.
infoBoardWindow.loadFile(nodePath.join(__dirname, './src/directories/infoboard.html'))
.then(() => { infoBoardWindow.show(); })
});
现在,要在 infoboard.html
文件中引用 gridstack css 和 js 文件,请使用相对路径(./
、../
),而不是绝对路径( /
)。 IE:您需要 step-up 2 个目录级别才能访问 node_modules
目录。
infoboard.html
<!DOCTYPE html>
<head>
<title>Infomation Board </title>
<link rel="stylesheet" href="../styles/styles.css" />
<link rel="stylesheet" href="../../node_modules/gridstack/dist/gridstack.min.css" />
<script src="../../node_modules/gridstack/dist/gridstack-h5.js"></script>
</head>
<body>
...
..
相对较新的电子领域:
我尝试了一些方法来解决这个问题,例如使用 ./
代替 /
或在 packaging.json 中添加 "homepage" :
,但仍然无效。
我正在尝试导入这两个
<script src="node_modules/gridstack/dist/gridstack-h5.js"></script>
<link href="node_modules/gridstack/dist/gridstack.min.css" rel="stylesheet"/>
我的json:
{
"name": "login",
"version": "1.0.0",
"homepage":"./",
"main": "main.js",
....
}
html:
<!DOCTYPE html>
<head>
<title>Infomation Board </title>
<link rel="stylesheet" href="../styles/styles.css" />
<script src="node_modules/gridstack/dist/gridstack-h5.js"></script>
<link href="node_modules/gridstack/dist/gridstack.min.css" rel="stylesheet"/>
</head>
<body>
...
..
当我 运行 调试时,我遇到了以下错误之一:
GET file:///C:/node_modules/gridstack/dist/gridstack-h5.js net::ERR_FILE_NOT_FOUND
GETfile:///C:/Users/whatd/OneDrive/Desktop/Amazon%20Verson%202/src/directories/node_modules/gridstack/dist/gridstack.min.css net::ERR_FILE_NOT_FOUND
目录:
我该如何解决这个问题?
我认为 package.json
文件中的 "homepage":
行是 React 的东西。如果您不使用 React,则可以删除 "homepage":
行。
package.json
文件中的 "main":
行是 Electron 应用程序的入口点。因此,如果启动的 js 文件是 "main.js"
那么 "main": "main.js"
是正确的。
package.json
{
"name": "login",
"version": "1.0.0",
"main": "main.js",
...
}
如果您要在 main.js
文件中创建 info-board window,那么您可以这样做。
main.js
// Electron module(s).
const electronApp = require('electron').app;
const electronBrowserWindow = require('electron').BrowserWindow;
// Node module(s).
const nodePath = require('path');
// Declare window (no garbage collect).
let infoBoardWindow;
// Application is now ready to start.
electronApp.on('ready', () => {
// Create the info-board window.
infoBoardWindow = new electronBrowserWindow({
x: 0,
y: 0,
width: 800,
height: 600,
show: false,
webPreferences: {
nodeIntegration: false,
contextIsolation: true,
worldSafeExecuteJavaScript: true,
enableRemoteModule: false,
preload: nodePath.join(__dirname, 'preload.js')
}
});
// Load the info-board window.
infoBoardWindow.loadFile(nodePath.join(__dirname, './src/directories/infoboard.html'))
.then(() => { infoBoardWindow.show(); })
});
现在,要在 infoboard.html
文件中引用 gridstack css 和 js 文件,请使用相对路径(./
、../
),而不是绝对路径( /
)。 IE:您需要 step-up 2 个目录级别才能访问 node_modules
目录。
infoboard.html
<!DOCTYPE html>
<head>
<title>Infomation Board </title>
<link rel="stylesheet" href="../styles/styles.css" />
<link rel="stylesheet" href="../../node_modules/gridstack/dist/gridstack.min.css" />
<script src="../../node_modules/gridstack/dist/gridstack-h5.js"></script>
</head>
<body>
...
..