热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Vue2多入口配置

能点进来的,肯定是对单入口了解透彻,对Vue2了解的人了。话不多说。上干货。前期准备1.一个完成能运行的Vue单页项目.(本文以Vue提供的单页模板为例

能点进来的,肯定是对单入口了解透彻,对Vue2了解的人了。
话不多说。上干货。

前期准备

1.一个完成能运行的Vue单页项目.(本文以Vue提供的单页模板为例子)
2.若没有,请找度娘。

目录

我的src目录有修改,如下:
图片描述

本例要修改的配置文件如下:
图片描述

config/index.js修改

修改如下:
图片描述

代码如下:
在config/index.js中添加两个字段。
view:是方所有页面的文件夹名称
defaultEntry:存有两个属性,是主页面的html和js的路径(我的主页js入口和html不在同一个文件夹下,这里配一下)

//多入口配置entryPath:['view'], defaultEntry:{html:'index',js:'./src/index'},

utils.js修改

修改如下:
图片描述
代码如下:

//获取多级入口
let glob = require('glob')
exports.getMultiEntry = function (globPath,type) {let entries = {}, basename, tmp, pathname;glob.sync(globPath).forEach(function (entry) {basename = path.basename(entry, path.extname(entry));tmp = entry.split('/').splice(-4);let pathSrc=tmp[0]+'/'+tmp[1]if(tmp[0]==='src'){pathSrc=tmp[2]}pathname = pathSrc+'/'+basename; // 正确输出js和html的路径entries[pathname] = entry;});if(config.defaultEntry&&config.defaultEntry!==''){entries['index']=config.defaultEntry[type]+'.'+type}console.log('entries-----------', entries);return entries;
}

webpack.base.conf.js修改

如下:
图片描述

代码:

//多入口配置添加
let entries={}
for(let i=0;i}
const chunks = Object.keys(entries)

webpack.dev.conf.js

如下:
图片描述

代码:

//多入口配置添加
let htmlPages = {}
for (let i = 0; i }
let pagesConfig = []
for (let pagename in htmlPages) {const pageCon = {filename: pagename+'.html',template: htmlPages[pagename],chunks: [pagename, 'vendors', 'manifest'], // 每个html引用的js模块, 由此看出html和js名字要相同inject: true}pagesConfig.push(new HtmlWebpackPlugin(pageCon))
}

注意,别忘了隐藏源文件的new HtmlWebpackPlugin一段代码。
在plugins数组后面接上一句:.concat(pagesConfig)
图片描述

webpack.prod.conf.js修改

修改如下:
图片描述
代码:

//多入口配置添加
let htmlPages = {}
for (let i = 0; i }
console.log(htmlPages)
for (let pagename in htmlPages) {const pageCon = {filename: pagename +'.html',template: htmlPages[pagename],// 模板路径inject: true,// js插入位置chunks: ["vendor", "manifest",pagename],// 每个html引用的js模块,也可以在这里加上vendor等公用模块chunksSortMode: 'dependency',hash:true}console.log(pageCon)webpackConfig.plugins.push(new HtmlWebpackPlugin(pageCon))
}

别忘了隐藏这段代码:
图片描述

好啦完成了

npm run build
npm run dev
进入浏览器打开地址
http://localhost:8080/first (first页面)
http://localhost:8080/first/#/login (first页面子路由1)
http://localhost:8080/first/#/regist (first页面子路由2)
http://localhost:8080/second (second页面)

http://localhost:8080/ (主页)



推荐阅读
  • VueCLI多页分目录打包的步骤记录
    本文介绍了使用VueCLI进行多页分目录打包的步骤,包括页面目录结构、安装依赖、获取Vue CLI需要的多页对象等内容。同时还提供了自定义不同模块页面标题的方法。 ... [详细]
  • 本文记录了在vue cli 3.x中移除console的一些采坑经验,通过使用uglifyjs-webpack-plugin插件,在vue.config.js中进行相关配置,包括设置minimizer、UglifyJsPlugin和compress等参数,最终成功移除了console。同时,还包括了一些可能出现的报错情况和解决方法。 ... [详细]
  • Vue3中setup函数的参数props和context配置详解
    本文详细介绍了Vue3中setup函数的参数props和context的配置方法,包括props的接收和配置声明,以及未通过props进行接收配置时的输出值。同时还介绍了父组件传递给子组件的值和模板的相关内容。阅读本文后,读者将对Vue3中setup函数的参数props和context的配置有更深入的理解。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • 本文介绍了在Vue项目中如何结合Element UI解决连续上传多张图片及图片编辑的问题。作者强调了在编码前要明确需求和所需要的结果,并详细描述了自己的代码实现过程。 ... [详细]
  • 本文介绍了在使用vue和webpack进行异步组件按需加载时可能出现的报错问题,并提供了解决方法。同时还解答了关于局部注册组件和v-if指令的相关问题。 ... [详细]
  • 本文介绍了在wepy中运用小顺序页面受权的计划,包含了用户点击作废后的从新受权计划。 ... [详细]
  • 模板引擎StringTemplate的使用方法和特点
    本文介绍了模板引擎StringTemplate的使用方法和特点,包括强制Model和View的分离、Lazy-Evaluation、Recursive enable等。同时,还介绍了StringTemplate语法中的属性和普通字符的使用方法,并提供了向模板填充属性的示例代码。 ... [详细]
  • 本文介绍了如何使用vue-awesome-swiper组件,包括在main.js中引入和使用swiper和swiperSlide组件,以及设置options和ref属性。同时还介绍了如何在模板中使用swiper和swiperSlide组件,并展示了如何通过循环渲染swipes数组中的数据,并使用picUrl属性显示图片。最后还介绍了如何添加分页器。 ... [详细]
  • uniapp开发H5解决跨域问题的两种代理方法
    本文介绍了uniapp开发H5解决跨域问题的两种代理方法,分别是在manifest.json文件和vue.config.js文件中设置代理。通过设置代理根域名和配置路径别名,可以实现H5页面的跨域访问。同时还介绍了如何开启内网穿透,让外网的人可以访问到本地调试的H5页面。 ... [详细]
  • Todayatworksomeonetriedtoconvincemethat:今天在工作中有人试图说服我:{$obj->getTableInfo()}isfine ... [详细]
  • 单页面应用 VS 多页面应用的区别和适用场景
    本文主要介绍了单页面应用(SPA)和多页面应用(MPA)的区别和适用场景。单页面应用只有一个主页面,所有内容都包含在主页面中,页面切换快但需要做相关的调优;多页面应用有多个独立的页面,每个页面都要加载相关资源,页面切换慢但适用于对SEO要求较高的应用。文章还提到了两者在资源加载、过渡动画、路由模式和数据传递方面的差异。 ... [详细]
  • 本文总结和分析了JDK核心源码(2)中lang包下的基础知识,包括常用的对象类型包和异常类型包。在对象类型包中,介绍了Object类、String类、StringBuilder类、StringBuffer类和基本元素的包装类。在异常类型包中,介绍了Throwable类、Error类型和Exception类型。这些基础知识对于理解和使用JDK核心源码具有重要意义。 ... [详细]
  • 本文详细介绍了Java中vector的使用方法和相关知识,包括vector类的功能、构造方法和使用注意事项。通过使用vector类,可以方便地实现动态数组的功能,并且可以随意插入不同类型的对象,进行查找、插入和删除操作。这篇文章对于需要频繁进行查找、插入和删除操作的情况下,使用vector类是一个很好的选择。 ... [详细]
  • 猜字母游戏
    猜字母游戏猜字母游戏——设计数据结构猜字母游戏——设计程序结构猜字母游戏——实现字母生成方法猜字母游戏——实现字母检测方法猜字母游戏——实现主方法1猜字母游戏——设计数据结构1.1 ... [详细]
author-avatar
k婷妈咪1_1997
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有