electron在windows打包遇到的坑纪录

1.解决跨域的问题

之前是使用后端解决跨域的,但是现在条件不允许,所以要使用前端进行跨域

第一种方法:

const server = new WebpackDevServer(
      compiler,
      {
        contentBase: path.join(__dirname, '../'),
        quiet: true,
        proxy: {
          '/api': {
            // 请求的目标服务器地址
            target: 'http://xxxx',
            // 设置允许跨域
            changeOrigin: true,
            // 重写路径
            pathRewrite: {
              '^/api': ''
            },
            headers: {
              referer: ''
            }
          }
        },
        before (app, ctx) {
          app.use(hotMiddleware)
          ctx.middleware.waitUntilValid(() => {
            resolve()
          })
        }
      }
    )

在dev-runner.js里面设置,然后axios里面使用/api/加后面的url就可以了,但是这种方法会导致build包的时候出现问题,file not find

第二种方法:

mainWindow = new BrowserWindow({
    //...
    webPreferences: {
      webSecurity: false,
      //...
    },
});

直接关闭,但是会导致electron整个系统不安全

所以还是后端解决跨域问题吧,一了百了

2.windows打包的问题

不要用cnpm,切记不要用cnpm,打包出来是白屏,用yarn/npm

yarn我试了很久,windows上安装依赖每次都要好久,而且需要python2.7等等环境,故放弃

npm是没有问题的,也是要等很久,至于其他依赖可以进行离线下载之后,放到c盘的cache目录里面去

https://blog.csdn.net/weixin_30335575/article/details/95836259

你可能感兴趣的:(桌面应用开发)