javascript - 使用 webpack 和 electron-forge 构建电子应用程序时路径中断
问题描述
我有一个电子应用程序,我在其中使用 webpack 并使用 electron-forge 构建(我认为问题来自这两个之一)。
当我使用电子锻造构建应用程序时出现此问题,在开发过程中没有问题。构建应用程序并启动它时,不显示任何图像,并且调试工具显示它尝试访问的路径是错误的路径。
我这样构建:
"main": "./.webpack/main",
"scripts": {
"make": "electron-forge make"
}
软件编译时路径如下:resources/app/.webpack/renderer/login/images/logo.png
但图像位于此处:resources/app/.webpack/renderer/images/logo.png
login
错误添加到路径的文件夹就在那里,因为在我package.json
的电子伪造中我有这个配置:
"plugins": [
[
"@electron-forge/plugin-webpack",
{
"mainConfig": "./webpack.main.config.js",
"renderer": {
"config": "./webpack.renderer.config.js",
"entryPoints": [
{
"html": "./src/front/views/window.html",
"js": "./src/front/scripts/login.ts",
"name": "login",
"preload": {
"js": "./src/preload.ts"
}
},
// other entrypoints
]
}
}
]
]
我们可以看到一个入口点的名称是“login”,这是我的应用程序的第一页,也是图像应该在的页面。但是在开发中没有login
创建文件夹,但是当我构建时,login
它被添加到应该在登录页面上的图像路径中。
我尝试安装electron-webpack
webpack 配置文件并对其进行一些更改。现在,在文件中webpack.renderer.config.js
我有这个:
const rules = require('./webpack.rules');
// other rules
rules.push({
test: /\.(png|svg|jpg|gif)$/,
include: [
path.resolve(__dirname, "src/front/images"),
],
use: {
loader: 'file-loader',
options: {
name: '[name].[ext]',
outputPath: 'images/'
}
}
});
module.export = {
module: {
rules
}
// other things
}
解决方案
推荐阅读
- android - Play 控制台中的任何 Android 应用程序是否出现在 Google Api 控制台中
- amazon-web-services - 由于资源已存在,Cloudformation 模板失败
- python - 如何更改调用哪个变量?(特别是对象)
- java - Apache箭头可以支持无限级嵌套结构吗?
- neo4j - 将 URL 查询转换为节点
- jquery - iframe 上的 jQuery 和 postMessage
- excel - 公式 excel 按代码显示名字或姓氏
- arrays - 在ruby中将字符串转换为数组?
- java - 无法在 java poi 中读取 excel 文件(.xls)
- python-2.7 - 如何使用 python 在 IBM MQ 上插入压缩字节消息?(我试过 PYMQI 和 Spring Python)