vue.config.js
const { defineConfig } = require('@vue/cli-service');
module.exports = defineConfig({
productionSourceMap: false, //去掉打包的时候生成的map文件
assetsDir: 'static', //静态资源目录名称
publicPath: './', //打包后的位置(如果不设置这个静态资源会报404)
transpileDependencies: true,
lintOnSave: false, // 引入插件不使用时不报错
configureWebpack: {
externals: {
electron: 'require("electron")'
},
devServer: {
port: '16616' //端口号
}
},
// 第三方插件配置
pluginOptions: {
// vue-cli-plugin-electron-builder 配置
electronBuilder: {
nodeIntegration: true,
// 设置应用主进程的入口
mainProcessFile: 'src/background.ts',
// 设置应用渲染进程的入口
rendererProcessFile: 'src/main.ts',
customFileProtocol: '../',
// 打包选项
builderOptions: {
// 解决的问题:在安装到电脑后,系统通知无法工作
appId: '08051005.electron.xing-0103', // 软件id
copyright: '08051005',
productName: 'BuildName', // 打包后的名称
directories: {
buildResources: 'static', //指定打包需要的静态资源,默认是build
output: 'build-electron' // 安装包生成目录
},
// windows系统相关配置
win: {
// 应用图标路径(Windows 系统中 icon 需要 256 * 256 的 ico 格式图片)
icon: './public/logo.ico',
target: {
target: 'nsis',
// 支持 64 位的 Windows 系统
arch: ['x64']
}
},
extraResources: {
from: './public/config.json',
to: './'
},
nsis: {
// 如果为false,想要给电脑所有用户安装必须使用管理员权限
allowElevation: true,
// 是否一键安装
oneClick: false,
// 允许修改安装目录
allowToChangeInstallationDirectory: true,
guid: '08051005.electron.xing-0103', // 软件id
include: './installer.nsh',
deleteAppDataOnUninstall: true, //删除用户数据
installerIcon: './public/logo.ico', //安装logo
installerHeaderIcon: './public/logo.ico' //安装logo
}
}
}
}
});
打包时报错:defineConfig is not a function
原因:由于用vue-cli直接创建了vue 3的项目,而里面的依赖并非都是最新版,vue.config.js中的代码使用了vue 3的语法
解决办法:vue upgrade 升级依赖版本