平常我们使用vue-cli构建项目,直接执行npm run build打包到dist目录下,然后项目一般又部署在我们服务器的根目录下。这样正常的流程,但是需求是多样的,有时我们就会遇到需要把项目部署到服务器下某个文件夹下,例如http://testpms.timi5.cn/demo/index.html

这时我们就需要以下操作:

1:修改vue.config.js文件;
module.exports = {
  publicPath: process.env.NODE_ENV === 'production' ? '/targetPath/' : '/'
}

默认情况下,Vue CLI 会假设你的应用是被部署在一个域名的根路径上,例如 https://www.my-app.com/。如果应用被部署在一个子路径上,你就需要用这个选项指定这个子路径。例如,如果你的应用被部署在 https://www.my-app.com/my-app/,则设置 publicPath 为 /my-app/。

2:修改路由

经过第一步,项目已经能部署在服务器下某个文件里,但是我们会发现,在页面跳转时仍然会直接跳转到服务器根域名下。这是因为我们需要对路由进行基础设置:

export default new Router({
    base:process.env.BASE_URL,
    routes: [
        {
            path: "*", // 其他没有的页面都重定向到 home页面去
            redirect: "/login"
        },
   })

这样就ok了

Logo

前往低代码交流专区

更多推荐