背景

electron-vue加载 .node文件在开发环境下可以正常运行,但是打包以后就出现了问题,提示加载不到资源。排查之后发现通过webpack把文件压缩成render.js之后,node文件的加载路径竟然写死成了工程所在的绝对路径。

解决

electron-vue构建的工程默认使用的node加载器是node-loader,可以查看 .electron-vue目录下webpack.renderer.config.js文件中的设置,具体信息如下:

  module: {
    rules: [
      {
        test: /\.node$/,
        use: 'node-loader'
      }
    ]
  },

node-loader加载器会默认使用绝对路径,可以安装native-ext-loader来解决这个问题,注意basePath是查找node文件的目录,可以根据自己的需求进行更改。native-ext-loader的具体使用方法可以参考https://www.npmjs.com/package/native-ext-loader

  module: {
    rules: [
      {
        test: /\.node$/,
        loader: "native-ext-loader",
        options: {
          basePath: ['../','electron/']
        }
      },
    ]
  },

Logo

前往低代码交流专区

更多推荐