解决electron-vue打包后加载.node文件找不到资源的问题
背景electron-vue加载 .node文件在开发环境可以正常运行,但是打包以后就出现了问题,提示加载不到资源。排查之后发现通过webpack把文件压缩成render.js之后,node文件的加载路径竟然写死成了工程所在的绝对路径。修改 .electron-vue目录下webpack.renderer.config.js文件module: {rules: [{test: /\.node$/,u
·
背景
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/']
}
},
]
},
更多推荐
已为社区贡献3条内容
所有评论(0)