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
相关推荐
碎碎念_4924 小时前
SpringBoot + Vue 前后端分离从 0 到 1 完整环境配置流程
vue.js·spring boot·后端
shuaijie05185 小时前
强制修改调用接口的api地址。
javascript·vue.js·ecmascript
JerrySir5 小时前
恶意 npm 包只活了 17 分钟:技术面试里,为什么“升级依赖”还不算止血?
javascript·安全
白帽小阳5 小时前
2026前端面试题!(附答案及解析)
javascript·网络·python·安全·web安全·网络安全·护网行动
这是个栗子5 小时前
前端开发中的常用工具函数(八)
开发语言·前端·javascript
Hilaku5 小时前
Vue 和 React 真正的差距,不在语法,而在团队犯错成本
前端·javascript·程序员
研☆香5 小时前
为什么变量声明在赋值前也能使用?—— 深入理解 JavaScript 变量提升与作用域
开发语言·前端·javascript
柯克七七6 小时前
我把 bug 修得太干净了,测试组以为这个模块本来就没问题
前端·javascript·typescript
Null1556 小时前
浏览器唤起桌面端应用(终极篇)
前端·javascript
妙码生花6 小时前
从 PHP 到 AI + Golang,程序员自救转型手记(三十四):后台初始化请求实现
前端·javascript·go