昨天晚上给用户上系统,因为需要微信的回调,但是Vue中的#号在微信是不会被认可的,所以回调会出现问题,只有使用history模式去掉#,但是相应的问题就是在刷新后或者直接在浏览器访问某路径会404,查阅了很多文章找了很多方法 都没有生效,最后 使用alias方式解决。
vue.config.js
module.exports = {
/* 部署生产环境和开发环境下的URL:可对当前环境进行区分,baseUrl 从 Vue CLI 3.3 起已弃用,要使用publicPath */
/* baseUrl: process.env.NODE_ENV === 'production' ? './' : '/' */
publicPath: '/',
/* 输出文件目录:在npm run build时,生成文件的目录名称 */
outputDir: 'dist',
/* 放置生成的静态资源 (js、css、img、fonts) 的 (相对于 outputDir 的) 目录 */
assetsDir: "assets",
/* 是否在构建生产包时生成 sourceMap 文件,false将提高构建速度 */
productionSourceMap: false,
/* 默认情况下,生成的静态资源在它们的文件名中包含了 hash 以便更好的控制缓存,你可以通过将这个选项设为 false 来关闭文件名哈希。(false的时候就是让原来的文件名不改变) */
filenameHashing: false,
/* 代码保存时进行eslint检测 */
lintOnSave: true,
/* webpack-dev-server 相关配置 */
devServer: {
/* 自动打开浏览器 */
open: false,
/* 设置为0.0.0.0则所有的地址均能访问 */
host: '0.0.0.0',
port: 8082,
https: false,
hotOnly: false,
disableHostCheck:true,
/* 使用代理 */
},
}
Nginx配置
关键来了。nginx目录:
是不是发现根本没有什么dist目录,
往下看
点开html后发现,里面有dist目录和vue打包出来的前端文件夹assets,还是分开装的,这样就解决,至于为什么我还是不知道,早上复盘了一下,还是没有什么眉目。希望有大佬可以指点一下 谢谢。