vue-cli创建的项目,配置多页面的实现方法

vue官方提供的命令行工具vue-cli,能够快速搭建单页应用。默认一个页面入口index.html,那么,如果我们需要多页面该如何配置,实际上也不复杂

假设要新建的页面是rule,以下以rule为例

创建新的html页面

?


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

<!DOCTYPE html>

<html>

    <head>

        <meta charset="utf-8">

        <meta name="viewport" content="width=device-width,initial-scale=1.0">

        <meta content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no" name="viewport">

        <meta http-equiv="pragma" content="no-cache">

        <meta http-equiv="cache-control" content="no-cache">

        <meta http-equiv="expires" content="0">

        <title></title>

    </head>

    <body>

        <span style="color:#000000;"><div id="rule"></div></span>

        <!-- built files will be auto injected -->

    </body>

</html>

创建入口文件Rule.vue和rule.js,仿照App.vue和main.js

?


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

<template>

    <div id="rule">

        <router-view></router-view>

    </div>

</template>

<script>

    export default {

        name: ‘lottery‘,

        data() {

            return {

            }

        },

        mounted: function() {

            

            this.$router.replace({

                    path:‘/rule‘

            });

        },

    }

</script>

<style lang="less">

    body{

        margin:0;

        padding:0;

    }

</style>

rule.js

?


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

import Vue from ‘vue‘

import Rule from ‘./Rule.vue‘

import router from ‘./router‘

import $ from ‘jquery‘

//import vConsole from ‘vconsole‘

import fastclick from ‘fastclick‘

Vue.config.productionTip = false

fastclick.attach(document.body)

Vue.config.productionTip = false;

 

/* eslint-disable no-new */

new Vue({

 el: ‘#rule‘,

 router,

 template: ‘<Rule/>‘,

 components: { Rule },

})

修改config/index.js

build添加rule地址,即编译后生成的rule.html的地址和名字

?


1

2

3

4

5

6

build: {

  // Template for index.html

  index: path.resolve(__dirname, ‘../dist/index.php‘),

  rule: path.resolve(__dirname, ‘../dist/rule.php‘),

  ……

 }

rule: path.resolve(__dirname, ‘../dist/rule.php‘)表示编译后再dist文件下,rule.html编译后文件名为rule.php

修改build/webpack.base.conf.js

配置entry

?


1

2

3

4

entry: {

  app: ‘./src/main.js‘, 

  rule: ‘./src/rule.js‘

 },

修改build/webpack.dev.conf.js

在plugins增加

?


1

2

3

4

5

6

new HtmlWebpackPlugin({

   filename: ‘rule.html‘,

   template: ‘rule.html‘,

   inject: true,

   chunks:[‘rule‘]

  }),

修改build/webpack.prod.conf.js

在plugins增加

?


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

new HtmlWebpackPlugin({

   filename: config.build.rule,

   template: ‘rule.html‘,

   inject: true,

   minify: {

    removeComments: true,

    collapseWhitespace: true,

    removeAttributeQuotes: true

    // more options:

    // https://github.com/kangax/html-minifier#options-quick-reference

   },

   // necessary to consistently work with multiple chunks via CommonsChunkPlugin

   chunksSortMode: ‘dependency‘,

   chunks: [‘manifest‘,‘vendor‘,‘rule‘]

  }),

以上全部

当后台地址跳转到你的新建的页面后,由于现在配置的默认路由是公用的,可自己配置多个路由文件,分别引用。

可在Rule.vue中路由跳转到指定路由,以实现页面控制

?


1

2

3

4

5

6

mounted: function() {

            

    this.$router.replace({

        path:‘/rule‘

    });

},

参考  https://www.jb51.net/article/136484.htm

原文地址:https://www.cnblogs.com/sea520/p/11747715.html

时间: 2024-10-28 15:03:47

vue-cli创建的项目,配置多页面的实现方法的相关文章

vue cli 3 查看项目 vue.config.js 的默认配置信息

vue cli 3 查看项目 vue.config.js 的默认配置信息 运行命令,在终端输出: npx vue-cli-service inspect 运行命令,将输出导入到文件:vue.config.detail.js: npx vue-cli-service inspect >> vue.config.detail.js 在文件:vue.config.detail.js 开头,添加:module.exports =,然后格式化即可查看. 原文地址:https://www.cnblogs.

vue cli 3.x 项目部署到 github pages

github pages 是 github 免费为用户提供的服务,写博客,或者部署一些纯静态项目. 最近将 vue cli 3.x 初始化项目部署到 github pages,踩了一些坑,记录如下. https://github.com/nusr/resume-vue 1. vue-router 不要开启 history 模式 路径中的 # 比较丑,就开启了 vue-router 的 history 模式,去掉了 #.平时做项目也是默认开启 history 模式.折腾了半天发现,我这是部署到 g

SpringMVC项目配置欢迎页面为index.html

一.问题 在web.xml中添加如下配置无效 <welcome-file-list> <welcome-file>index.html</welcome-file> </welcome-file-list> 访问http://localhost/KingWeixin/ 无作用 二.解决问题 2.1.问题分析 1.默认tomcat容器的默认页面. /index.html 这种方式适合访问静态的页面(也包括JSP)或者说是没有任何参数的页面. 2.spirng

VUE 安装&amp;创建一个项目

1,安装node.js vue依赖nodejs,所以首先要安装node.js 然后打开cmd,输入命令, node -v.正常出现版本号,说明你已经安装成功了 下载地址:http://nodejs.cn/download/ 2,npm(cnpm) npm是node的包管理工具 使用node之后你会接触各种各样成千上万的Package(包),就需要一个管理工具能很好的解决它的安装,更新,依赖包安装等等的维护.默认安装完node之后,npm会自动安装上的.还是cmd,输入命令 npm -V .正常出

shiro+SpringMVC 项目 配置404页面

说的配置404,大家都会想到去web.xml里面配置 <error-page> <error-code>404</error-code> <location>/404.html</location> </error-page> 可是如果我有业务需求,当发生404,我要记录相关信息呢?或者说404的展示页面我也有需要动态获取的资源呢?那么静态页面就力不从心了. 那么先写一个处理404的方法 //404 @RequestMapping(v

【2019-10-10】使用CLI创建新项目

一个Angular工程有一个工作空间,但一个工作空间可以存在单个或者多个项目 Angular中的项目指的就是Application或者Library Case1:Angular工作空间只有一个项目(Application) step1: ng new my-app //此命令会创建angular workspace名为my-app ,且会自动以my-app创建一个初始应用 Case2:Angular工作空间有多个项目(Application+Library) step1: ng new my-w

vue_05项目配置

目录 vue项目配置: 前端样式结构: settings配置: vue项目路由配置: vue全局js配置: vue全局css配置: 父传子: 父组件 子组件 二.子传父 子组件 父组件 vue项目配置: 前端样式结构: <style scoped> .car-detail { /* vw:屏幕宽度 vh:屏幕高度*/ (仅仅与页面有关) /*width: 100vw;*/ /*height: 100vh;*/ /*background-color: orange;*/ } </style

【前端vue开发架构】vue开发单页项目架构总结

为营销活动设计的前端架构 主要的技术栈为 Vuejs,Webpack,请自行阅读如下技术或者框架的文档: 一.基础说明: node (https://nodejs.org/en/) npm (https://www.npmjs.com) webpack (https://github.com/webpack/webpack) vuejs (https://vuejs.org) babel (https://babeljs.io) 其他的比如sass等CSS预编译器,都可以先不考虑. 下面对以上涉

vue/cli 3.0 脚手架【进阶】

安装vue-cli3   npm install -g @vue/cli 创建项目 vue-cli-test 脚手架-项目-成功-运行项目 基于vue-cli配置移动端自适应 转自:http://hjingren.cn/2017/06/16/%E5%9F%BA%E4%BA%8Evue-cli%E9%85%8D%E7%BD%AE%E7%A7%BB%E5%8A%A8%E7%AB%AF%E8%87%AA%E9%80%82%E5%BA%94/ 配置 flexible 安装 lib-flexible