electron-vue 打包异常,未能打包成功

发布于 2022-09-12 04:00:07 字数 1525 浏览 33 评论 0

问题描述

基础信息:
平台:MacOS
cli:electron-vue
打包工具:electron-builder

问题:在使用electron-builder打包的时候,运行命令:sudo yarn run build:dir,报错,如图
image.png

问题出现的环境背景及自己尝试过哪些方法

尝试清空了node_modules文件夹,用npm重新安装依赖,打包报错;
再清空node_modules文件夹,用yarn重新安装依赖,打包报错

相关代码

package.json

"scripts": {
    "build": "node .electron-vue/build.js && electron-builder",
    "build:dir": "node .electron-vue/build.js && electron-builder --dir",
    "build:clean": "cross-env BUILD_TARGET=clean node .electron-vue/build.js",
    "build:web": "cross-env BUILD_TARGET=web node .electron-vue/build.js",
    "build:mac": "node .electron-vue/build.js && electron-builder --platform=darwin",
    "dev": "node .electron-vue/dev-runner.js",
    "lint": "eslint --ext .js,.vue -f ./node_modules/eslint-friendly-formatter src",
    "lint:fix": "eslint --ext .js,.vue -f ./node_modules/eslint-friendly-formatter --fix src",
    "pack": "npm run pack:main && npm run pack:renderer",
    "pack:main": "cross-env NODE_ENV=production webpack --progress --colors --config .electron-vue/webpack.main.config.js",
    "pack:renderer": "cross-env NODE_ENV=production webpack --progress --colors --config .electron-vue/webpack.renderer.config.js",
    "postinstall": "npm run lint:fix"
  },

你期待的结果是什么?实际看到的错误信息又是什么?

希望可以打包成功

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

九公里浅绿 2022-09-19 04:00:07

解决方案
两处修改:
1、在.electron-vue/webpack.renderer.config.js 文件找到CopyWebpackPlugin,大概在186行左右,

new CopyWebpackPlugin([
      {
        from: path.join(__dirname, '../static'),
        to: path.join(__dirname, '../dist/electron/static'),
        ignore: ['.*']
      }
    ]),

改为

new CopyWebpackPlugin({
      patterns: [{
        from: path.join(__dirname, '../static'),
        to: path.join(__dirname, '../dist/electron/static')
      }]
    })

2、在.electron-vue/webpack.web.config.js 文件找到CopyWebpackPlugin,大概在135行左右,

new CopyWebpackPlugin([
      {
        from: path.join(__dirname, '../static'),
        to: path.join(__dirname, '../dist/web/static')
        ignore: ['.*']
      }
    ]),

改为

new CopyWebpackPlugin({
      patterns: [{
        from: path.join(__dirname, '../static'),
        to: path.join(__dirname, '../dist/web/static')
      }]
    })
情话难免假 2022-09-19 04:00:07

错误已经提示的非常详细了,插件配置错了
image.png

冰火雁神 2022-09-19 04:00:07
  1. 仔细看错误信息。
  2. 这个问题我以前回答过,因为 WebpackCopyPlugin 升级到 6.x 后配置结构变了,以前直接传入来源目标就行,现在需要用 patterns

    // 现在需要这样
    module.exports = {
      plugins: [
        new CopyPlugin({
          patterns: [
            { from: 'source', to: 'dest' },
            { from: 'other', to: 'public' },
          ],
        }),
      ],
    };
    
    // 以前是这样
    module.exports = {
      plugins: [
        new CopyPlugin([
          { from: 'source', to: 'dest' },
           { from: 'other', to: 'public' },
        ]),
      ],
    };
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文