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
相关推荐
kyriewen2 小时前
别再这样写TypeScript了——Code Review中最常见的8个反模式
前端·javascript·typescript
名字还没想好☜3 小时前
Next.js ‘use client‘ 到底加在哪:Server/Client Components 边界与常见报错
开发语言·前端·javascript·react·next.js
飘尘4 小时前
一文讲清楚前端面试会问到的所有缓存
前端·javascript·面试
ThsPool5 小时前
【ENVI二次开发学习整理 04】ENVI功能扩展与二次开发
java·前端·javascript
张元清7 小时前
React useDisclosure Hook:管理模态框和抽屉的打开关闭状态 (2026)
javascript·react.js
天天码行空7 小时前
vkeyboardhand:零依赖虚拟键盘指法组件
前端·javascript·vue.js
我要两颗404西柚7 小时前
Stage four:VUE项目上线
前端·javascript·vue.js
蜡台9 小时前
Flutter Container 与装饰完整讲解
android·javascript·flutter·dart
满栀58510 小时前
原生JS + ECharts 多图表可视化实战:从业务实现到工程化优化
开发语言·javascript·echarts
TinssonTai10 小时前
Vite 8 版 Chrome 插件全家桶,popup/options/sidepanel 一次集齐
前端·vue.js