无法在 Vue + 电子应用程序中编译 opencv4nodejs
Posted
技术标签:
【中文标题】无法在 Vue + 电子应用程序中编译 opencv4nodejs【英文标题】:Couldn't compile opencv4nodejs in Vue + electron application 【发布时间】:2020-12-12 04:19:14 【问题描述】:我正在尝试使用 opencv4nodejs、vue + electron-builder 构建一个人脸检测应用程序。在应用程序设置过程中,我遇到了一个问题,在安装 opencv4nodejs 后,在 npm run serve 期间出现以下错误。
Failed to compile.
./node_modules/opencv4nodejs/build/Release/opencv4nodejs.node 1:2
Module parse failed: Unexpected character '�' (1:2)
You may need an appropriate loader to handle this file type, currently no loaders are configured to process this file. See https://webpack.js.org/concepts#loaders
(Source code omitted for this binary file)
如果有人可以帮助我,那就太好了。提前谢谢你
更新:我添加了我的 view.config.js 以供参考
module.exports =
chainWebpack: config =>
config.module;
// add ts files
// .rule('ts')
// .use('ts-loader')
// .loader('ts-loader')
// .tap(options =>
// modify the options...
// return options
// )
;
【问题讨论】:
请分享您的 webpack.config 文件。 你好@Eldar 我已经添加了 vue.config.js 文件以供参考 将外部组件添加到 webpack webpack.js.org/configuration/externals 使用 webpack 加载.node
文件需要添加node loader
@Eldar 完全解决了我的问题,谢谢
【参考方案1】:
正如我们的朋友 @Eldar 所说,将 node-loader 添加到 vue.config.js 对我有用。谢谢
module.exports =
chainWebpack: config =>
config.module .rule('ts')
.use('ts-loader')
.loader('ts-loader')
.end()
.rule(/\.node$/)
.use('node-loader')
.loader('node-loader')
.end()
;
希望这对大家有用。
【讨论】:
以上是关于无法在 Vue + 电子应用程序中编译 opencv4nodejs的主要内容,如果未能解决你的问题,请参考以下文章
具有Vue和vue-cli-plugin-electron-builder的电子应用程序无法与Tesseract.js一起使用
使用 Vue CLI Plugin Electron Builder 构建电子应用程序(在初始化之前无法访问“fa”)-TypeORM 关联 ManyToOne