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
相关推荐
fruge1 小时前
Vue项目中的Electron桌面应用开发实践指南
前端·vue.js·electron
漂流瓶jz7 小时前
Webpack中各种devtool配置的含义与SourceMap生成逻辑
前端·javascript·webpack
这是个栗子7 小时前
【问题解决】用pnpm创建的 Vue3项目找不到 .eslintrc.js文件 及 后续的eslint配置的解决办法
javascript·vue.js·pnpm·eslint
花姐夫Jun8 小时前
基于Vue+Python+Orange Pi Zero3的完整视频监控方案
vue.js·python·音视频
zy happy8 小时前
RuoyiApp 在vuex,state存储nickname vue2
前端·javascript·小程序·uni-app·vue·ruoyi
Nan_Shu_6149 小时前
学习:JavaScript(5)
开发语言·javascript·学习
533_9 小时前
[vue3] h函数,阻止事件冒泡
javascript·vue.js·elementui
蒲公英源码9 小时前
php+vue知识付费系统前后端全套源码
vue.js·php
通往曙光的路上9 小时前
day22_用户授权 头像上传
javascript·vue.js·ecmascript
小阳生煎9 小时前
Vue实现全局设置一个刷新按钮 只刷新当面路由页面 不跳转操作功能
vue.js·vue