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
相关推荐
m0_4711996340 分钟前
【vue】通俗详解package-lock文件的作用
前端·javascript·vue.js
今天不要写bug1 小时前
vue项目基于vue-cropper实现图片裁剪与图片压缩
前端·javascript·vue.js·typescript
汝生淮南吾在北2 小时前
SpringBoot+Vue养老院管理系统
vue.js·spring boot·后端·毕业设计·毕设
咬人喵喵2 小时前
14 类圣诞核心 SVG 交互方案拆解(附案例 + 资源)
开发语言·前端·javascript
韩曙亮3 小时前
【Web APIs】元素滚动 scroll 系列属性 ② ( 右侧固定侧边栏 )
前端·javascript·bom·window·web apis·pageyoffset
珑墨3 小时前
【浏览器】页面加载原理详解
前端·javascript·c++·node.js·edge浏览器
FreeBuf_3 小时前
Next.js 发布扫描工具:检测并修复受 React2Shell 漏洞(CVE-2025-66478)影响的应用
开发语言·javascript·ecmascript
馬致远3 小时前
Vue -组件入门
javascript·vue.js·ecmascript
御形封灵4 小时前
基于原生table实现单元格合并、增删
开发语言·javascript·ecmascript