vue项目:设置打包后的静态文件访问路径。
相同域名下可能会存在两份相关或不相关的代码,需要通过切换文件夹路径进入不同项目时,需要在项目打包输出代码时设置静态文件的访问路径(vue、react都要)。这种方式可能不太好,但是确实存在这种场景。
**静态文件访问路径说明:**项目的静态文件访问路径在本地运行和服务器访问是有区别的,默认状态下服务器上的项目代码,访问路径是从服务器根目录开始。
**H5中的访问设置:**在H5中,静态文件访问路径的区别
1、服务器根目录访问:代码中书写静态文件路径时开头不加"./"。
2、访问当前文件夹:代码中书写静态文件路径时加"./"。
vue项目的静态文件访问设置:
vue项目的最终项目文件需要经过打包输出,静态文件的访问路径需要在vue.config.js文件中设置。
1、vue.config.js文件中,module.exports中没有配置publicPath属性时,默认静态文件通过服务器根目录访问。
2、vue.config.js文件中配置publicPath属性设置静态文件访问路径。
module.exports = {
publicPath: './',
devServer:{
hot: true,
port: 8082, // 启动端口
open: true, // 启动后是否自动打开网页
},
}
publicPath属性值为"./"时表示静态文件的引入路径为当前文件夹,设置之后,可以将整个项目代码随便移动文件夹位置而不影响静态文件的访问。
补充:
{#_label1}
vue+electron 修改默认安装目录 {#heading-1}
- 在package.json或vue.config.js文件中, 在nsis 添加
include
属性:
module.exports = {
pluginOptions: {
electronBuilder: {
win: {
icon: './icons/icon.ico',
target: [
{
target: 'nsis',
arch: [
'ia32'
]
}
],
},
...
nsis: {
// 一键安装,如果设为true,nsis设置就无意义请直接删除 nsis 配置
oneClick: false,
// true全用户安装【目录为:C:\Program Files (x86)】,false安装到当前用户
perMachine: true,
// 允许请求提升。 如果为false,则用户必须使用提升的权限重新启动安装程序。
allowElevation: true,
// 允许修改安装目录
allowToChangeInstallationDirectory: true,
// 创建桌面图标
createDesktopShortcut: true,
// 创建开始菜单图标
createStartMenuShortcut: true,
// 快捷方式的名称,默认为应用程序名称
// shortcutName: 'HX',
// 安装图标
installerIcon: './icons/icon.ico',
// 卸载图标
uninstallerIcon: './icons/icon.ico',
// 安装时头部图标
installerHeaderIcon: './icons/icon.ico',
// 配置 nsn 如修改默认安装目录
include: './installer.nsh'
}
...
}
}
}
}
- 根目录新建
installer.nsh
文件:
installer.nsh
一般和vue.config.js
为同级目录D:\Program Files (x86)
为定义安装目录,可修改${PRODUCT_NAME}
为应用名称变量,一般没不需要改
!macro preInit
SetRegView 64
WriteRegExpandStr HKLM "${INSTALL_REGISTRY_KEY}" InstallLocation "D:\Program Files\${PRODUCT_NAME}"
WriteRegExpandStr HKCU "${INSTALL_REGISTRY_KEY}" InstallLocation "D:\Program Files\${PRODUCT_NAME}"
SetRegView 32
WriteRegExpandStr HKLM "${INSTALL_REGISTRY_KEY}" InstallLocation "D:\Program Files (x86)\${PRODUCT_NAME}"
WriteRegExpandStr HKCU "${INSTALL_REGISTRY_KEY}" InstallLocation "D:\Program Files (x86)\${PRODUCT_NAME}"
!macroend
大家可以试试吧。