electron-Vue: Module parse failed: Unexpected character ‘ ‘

​
electron-Vue项目中,我自己写了一个node的C++扩展(xx.node),然后在.vue文件里import它,然后运行npm run electron:serve,报错如下:

​​
electron-Vue打包默认使用webpack,默认情况下webpack没有对xx.node的加载器(loader),需要进行配置。配置如下:

在vue.config.js文件里

javascript 复制代码
const path = require("path");

module.exports = {
	// 其它配置
	// 2024/06/05 更新: 区分以下开发环境与发布环境
	chainWebpack: (config) => {
    if (process.env.NODE_ENV !== 'production') {
      config.module
        .rule('native')
        .test(/\.node$/)
        .use('native-ext-loader')
        .loader('native-ext-loader')
        .options({
          rewritePath: path.resolve(__dirname, "src/utils/napi/build/Release/")
        });
    } else {
      config.module
        .rule('native')
        .test(/\.node$/)
        .use('native-ext-loader')
        .loader('native-ext-loader')
        .options({
          basePath: ["app.asar", ".."] // 最后xx.node被electron.builder打包到app.asar中了
        });
    }
  },
};

参考:

  1. https://blog.csdn.net/weixin_43398820/article/details/106825050
  2. https://webpack.docschina.org/loaders/node-loader/
  3. https://www.npmjs.com/package/native-ext-loader
  4. https://cli.vuejs.org/zh/guide/webpack.html
相关推荐
小宋10211 小时前
A2UI从零实战:Agent安全生成交互界面与事件回传
javascript·人工智能·安全·交互
大包子2 小时前
structuredClone vs lodash.cloneDeep:核心差异与选型指南
javascript·vue.js
不可能片场2 小时前
命令行中文变问号 我用环境变量救了场
前端·electron
lerhxx2 小时前
AI 应用中的上下文管理 —— 从"上下文窗口"到"分层压缩"的工程实践
前端·javascript
雪芽蓝域zzs2 小时前
第 3 节:地图点击事件,点击获取经纬度
vue.js
Mahut2 小时前
我在 Mac 上做了个本地剪辑器
javascript·架构·产品
WayneX2 小时前
开源 Vue 3 组件库 Morya UI:把组件、文档、AI 工具链一起做进一个包
前端·vue.js·前端框架
汉堡大王95272 小时前
GPT-6 上线 48 小时,我扒开了 Intelligent UI 的运行机制:DIL、沙箱 Worker 和一个 React 式协调器
前端·javascript·后端
hai_android3 小时前
Chat 聊天模块功能总结
前端·javascript·vue.js
创世虚拟世界3 小时前
我做了一个 3D 虚拟世界基底,基于这个再做 3D 虚拟世界或者元宇宙,会事半功倍
javascript·人工智能·3d·gitee·虚拟现实