欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

解决vue 打包发布去掉#和页面空白的问题

程序员文章站 2022-06-13 08:01:12
...

1.vue项目中config文件下index.js中打包配置

build: {
 // Template for index.html
 index: path.resolve(__dirname, '../yjm/index.html'),
 
 // Paths
 assetsRoot: path.resolve(__dirname, '../yjm'),
 assetsSubDirectory: 'static',
 assetsPublicPath: '/yjm/',//这个地方使用绝对路径很重要
 
 /**
 * Source Maps
 */
 
 productionSourceMap: true,
 // https://webpack.js.org/configuration/devtool/#production
 devtool: '#source-map',
 
 // Gzip off by default as many popular static hosts such as
 // Surge or Netlify already gzip all static assets for you.
 // Before setting to `true`, make sure to:
 // npm install --save-dev compression-webpack-plugin
 productionGzip: false,
 productionGzipExtensions: ['js', 'css'],
 
 // Run the build command with an extra argument to
 // View the bundle analyzer report after build finishes:
 // `npm run build --report`
 // Set to `true` or `false` to always turn it on or off
 bundleAnalyzerReport: process.env.npm_config_report
}

2.路由配置:router文件夹下index.js

export default new Router({
	 mode: 'history',//去掉#,
	 base: '/yjm/',//这个配置也很重要,否则会出现页面空白情况
	 scrollBehavior: () => ({ y: 0 }),
	 routes: [
	 {
	 path: '/article',
	 name: 'article',
	 component: article
	 },
	 {
	 path: '/footMark',
	 name: 'FootMark',
	 component: FootMark
	 },
	 {
	 path: '/shareFootMark',
	 name: 'ShareFootMark',
	 component: ShareFootMark
	 }
	 ]
})

3.nginx配置:

server {
	listen 8080;
	server_name localhost;
	#charset koi8-r;
 
	#access_log logs/host.access.log main;
	#打包后的项目目录,一定记住这个地方带有项目名称
	root /Users/a123/Desktop/vue/sgAdmin/yjm;
	index index.html;
	 
	location /yiTownWebApp{
	 #这个地方没有项目名称,因为请求的时候如果请求:http://localhost:8080/yiTownWebApp,nginx会查找/Users/a123/Desktop/vue/sgAdmin/yjm/目录下的数据
	 root /Users/a123/Desktop/vue/sgAdmin;
	 try_files $uri $uri/ @router;
	 index index.html;
	}
	//try_files $uri $uri/ @router;和下边部分很重要,没有这部分发布二级一下的路由会出现js加载,但是也没空白的情况
	location @router {
	 rewrite ^.*$ /index.html last;
	}
}
  	——我们活着不能与草木同腐,不能醉生梦死,枉度人生,要有所作为。