当前位置:首页 > VUE

vue cli 实现多页面

2026-02-20 16:47:32VUE

配置多页面入口

vue.config.js 中配置 pages 对象,每个键值对代表一个页面入口。键为页面名称,值为包含 entry(入口文件)、template(HTML模板)、filename(输出文件名)等配置的对象。

module.exports = {
  pages: {
    index: {
      entry: 'src/pages/index/main.js',
      template: 'public/index.html',
      filename: 'index.html'
    },
    about: {
      entry: 'src/pages/about/main.js',
      template: 'public/about.html',
      filename: 'about.html'
    }
  }
}

目录结构建议

多页面项目通常按功能模块划分目录,每个页面拥有独立的入口文件、组件和路由。推荐结构如下:

src/
  pages/
    index/
      main.js      # 入口文件
      App.vue      # 根组件
      components/  # 私有组件
      router/      # 路由配置
    about/
      main.js
      App.vue

公共依赖处理

通过 configureWebpackchainWebpack 配置公共代码拆分,避免重复打包:

module.exports = {
  configureWebpack: {
    optimization: {
      splitChunks: {
        chunks: 'all',
        cacheGroups: {
          vendors: {
            test: /[\\/]node_modules[\\/]/,
            priority: -10
          },
          common: {
            minChunks: 2,
            priority: -20,
            reuseExistingChunk: true
          }
        }
      }
    }
  }
}

环境变量配置

为不同页面设置特定环境变量,在项目根目录创建 .env.[mode] 文件:

VUE_APP_PAGE_NAME=about

通过 process.env.VUE_APP_PAGE_NAME 在代码中访问。

开发模式调试

运行 vue-cli-service serve 时默认只打开第一个页面。可通过指定页面名称调试特定页面:

vue-cli-service serve --page about

或修改 package.jsonscripts 部分:

"scripts": {
  "serve:about": "vue-cli-service serve --page about"
}

生产构建优化

添加 preloadprefetch 配置提升性能:

module.exports = {
  chainWebpack: config => {
    Object.keys(pages).forEach(page => {
      config.plugins.delete(`prefetch-${page}`)
      config.plugin(`preload-${page}`).tap(() => [{
        rel: 'preload',
        as: 'script'
      }])
    })
  }
}

路由配置示例

每个页面的路由应独立配置。以 Vue Router 为例:

// src/pages/about/router/index.js
import Vue from 'vue'
import Router from 'vue-router'
import About from '../views/About.vue'

Vue.use(Router)

export default new Router({
  routes: [
    {
      path: '/',
      name: 'about',
      component: About
    }
  ]
})

vue cli 实现多页面

标签: 多页vue
分享给朋友:

相关文章

vue实现好友列表

vue实现好友列表

实现好友列表的Vue组件 数据准备 在Vue组件的data中定义好友列表数据,通常是一个数组对象,每个对象包含好友的基本信息如ID、头像、昵称等。 data() { return {…

vue实现功能

vue实现功能

Vue 功能实现方法 Vue.js 是一个渐进式 JavaScript 框架,用于构建用户界面。以下是实现常见功能的几种方法: 数据绑定与响应式更新 在 Vue 中,数据绑定通过 v-mode…

vue实现点击

vue实现点击

实现点击事件的基本方法 在Vue中实现点击事件可以通过v-on指令或@简写方式绑定。以下是常见的点击事件绑定方法: <template> <button v-on:click…

vue 实现权限

vue 实现权限

Vue 实现权限控制的方法 在 Vue 项目中实现权限控制通常涉及前端路由、组件和按钮级别的权限管理。以下是几种常见的实现方式: 路由权限控制 通过路由守卫实现权限验证,过滤用户无权访问的路由:…

vue 实现级联

vue 实现级联

Vue 实现级联选择器 级联选择器(Cascader)常用于省市区选择、分类选择等场景。Vue 中可以通过 Element UI、Ant Design Vue 等 UI 库实现,也可以手动封装。…

vue实现登出

vue实现登出

实现Vue登出功能 登出功能通常涉及清除用户会话、令牌或本地存储的数据,并重定向到登录页面。以下是几种常见的实现方式: 清除用户令牌和状态 在Vuex的store中定义一个logout mutati…