我对构建过程有些困惑。
我的package.json scripts
和build
属性如下所示(忽略的不重要属性):
"scripts": {
"start": "nf start -p 3000",
"build": "react-scripts build",
"preelectron-pack": "yarn run build",
"electron-pack": "build -c.extraMetadata.main=src/start.js",
},
"build": {
"appId": "nonExistant",
"files": [
"src/**/*",
"public/*",
"node_modules/**/*"
],
"directories": {
"buildResources": "public"
}
}
在我的主启动文件(在scripts.['electron-pack']
中指定)中,我的start.js脚本看起来像任何样板react-electron启动脚本在我的'activate'
事件期间运行的样子:
mainWindow.loadURL(
process.env.ELECTRON_START_URL
|| url.format({
pathname: path.join(__dirname, '../public/index.html'),
protocol: 'file:',
slashes: true,
}),
);
我的目录结构如下:
public/*
是我的index.html文件所在的位置(未转译)。src/*
是我的reactJS项目所在的地方。node_modules/*
显而易见,build/*
dist/*
从dist/mac/<name>.app
打开我的应用程序文件时,我在控制台中收到以下消息:
Not allowed to load local resource: file:///<path>/dist/mac/<name>.app/Contents/Resources/app.asar/public/index.html
将loadURL从../public/index.html
更改为../build/index.html
并不能解决它,并且给我相同的错误,指向完全相同的路径。