1.vue项目中config文件下index.js中打包配置
build: {
// Template for index.html
index: path.resolve(__dirname, '../yiTownWebApp/index.html'),
// Paths
assetsRoot: path.resolve(__dirname, '../yiTownWebApp'),
assetsSubDirectory: 'static',
assetsPublicPath: '/yiTownWebApp/',//这个地方使用绝对路径很重要
/** * 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: '/yiTownWebApp/',//这个配置也很重要,否则会出现页面空白情况
scrollBehavior: () => ({ y: 0 }),
routes: [
{
path: '/article',
name: 'article',
component: article
},
{
path: '/footMark',
name: 'FootMark',
component: FootMark
},
{
path: '/shareFootMark',
name: 'ShareFootMark',
component: ShareFootMark
}
]
})
nginx配置:
server {
listen 8080;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
#打包后的项目目录,一定记住这个地方带有项目名称
root /Users/a123/Desktop/vue/sgAdmin/yiTownWebApp;
index index.html;
location /yiTownWebApp{
#这个地方没有项目名称,因为请求的时候如果请求:http://localhost:8080/yiTownWebApp,nginx会查找/Users/a123/Desktop/vue/sgAdmin/yiTownWebApp/目录下的数据
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;
}
}