vue.js多页面开发环境搭建过程


Posted in Javascript onApril 24, 2019

利用 vue-cli 搭建的项目大都是单页面应用项目,对于简单的项目,单页面就能满足要求。但对于有多个子项目的应用,如果创建多个单页面,显示有点重复,特别是 node_modules 会有多份相同的。如果全部放到单页面项目下,又显得有点乱,这时候通过改造 vue-cli 搭建的项目为多页面,就是一个比较好的解决方法。

如何改造单页面 vue.js 项目为多页面项目?下面是这次改造的具体过程。

 一、创建单页面 vue.js 项目

这里直接使用官方提供的脚手架 vue-cli3 创建,具体的过程请参考「vue-cli3.0 升级记录」

二、多页面配置

1、添加配置文件

在项目根路径下( 与 package.json 同目录 )添加 vue.config.js,内容如下:

module.exports = {
  pages: {
   index: {
    // 入口js的路径
    entry: './src/main',
 // 页面模板路径
    template: './src/public/index.html'
   }
  }
 }

上面的配置其实就是 vue-cli 建立项目的默认配置,如果增加页面,在 pages 节点下添加配置即可。但这种方式,每次增加一个新页面,就需要手动添加节点,这种重复的事情显然不智能。下面继续改造。

 2、调整项目结构

要自动化,那么就需要按定一种规则把页面组织下。如把所有路由页面都放到 src/pages 目录下,改造后的结构如下:

vue.js多页面开发环境搭建过程

3、编写自动配置文件

在项目根路径下( 与 package.json 同目录 )添加 vue.util.js,内容如下:

const path = require('path')
 const glob = require('glob')
 const START_PATH = '/src/pages/'
 const PAGE_PATH = path.resolve(__dirname, '.' + START_PATH) 
 exports.pages = function () {
  var entryFiles = glob.sync(PAGE_PATH + '/**/*.html')
  var obj = {}
  entryFiles.forEach((filePath) => {
   var dirPath = filePath.substring(0, filePath.lastIndexOf('/'))
   var dirName = dirPath.substring(dirPath.lastIndexOf('/') + 1)
   var filename = filePath.substring(filePath.lastIndexOf(START_PATH) + START_PATH.length, filePath.lastIndexOf('/'))
   if (filename.endsWith(dirName)) {
    obj[filename] = {
     entry: filePath.substring(0, filePath.lastIndexOf('.html')) + '.js',
     template: filePath.substring(0, filePath.lastIndexOf('.html')) + '.html'
    }
   }
  })
  return obj
 }

在 vue.config.js 使用上面的配置

const utils = require('./vue.util')
 module.exports = {
 pages: utils.pages()
 }

 三、测试下

yarn dev

浏览器输入:

http://localhost:8080/index.html 和 http://localhost:8080/index2.html

OK,多页面配置完成

总结

以上所述是小编给大家介绍的vue.js多页面开发环境搭建过程,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
javascript表格隔行变色加鼠标移入移出及点击效果的方法
Apr 10 Javascript
JS实现点击上移下移LI行数据的方法
Aug 05 Javascript
jQuery简单操作cookie的插件实例
Jan 13 Javascript
Ajax基础知识详解
Feb 17 Javascript
jquery实现异步加载图片(懒加载图片一种方式)
Apr 24 jQuery
如何在AngularJs中调用第三方插件库
May 21 Javascript
Angularjs上传图片实例详解
Aug 06 Javascript
解决vue-router中的query动态传参问题
Mar 20 Javascript
vue解决一个方法同时发送多个请求的问题
Sep 25 Javascript
Element-ui DatePicker显示周数的方法示例
Jul 19 Javascript
前端插件之Bootstrap Dual Listbox使用教程
Jul 23 Javascript
vue实现页面切换滑动效果
Jun 29 Javascript
小程序实现订单倒计时功能
Apr 23 #Javascript
vue实现密码显示与隐藏按钮的自定义组件功能
Apr 23 #Javascript
使用Vue中 v-for循环列表控制按钮隐藏显示功能
Apr 23 #Javascript
vue缓存的keepalive页面刷新数据的方法
Apr 23 #Javascript
Vue 指令实现按钮级别权限管理功能
Apr 23 #Javascript
Vue 之孙组件向爷组件通信的实现
Apr 23 #Javascript
Vue infinite update loop的问题解决
Apr 23 #Javascript
You might like
PHP环境搭建最新方法
2006/09/05 PHP
在PHP中使用与Perl兼容的正则表达式
2006/11/26 PHP
php foreach循环中使用引用的问题
2013/11/06 PHP
win7 64位系统 配置php最新版开发环境(php+Apache+mysql)
2014/08/15 PHP
php 在线导入mysql大数据程序
2015/06/11 PHP
PHP实现支持CURL字符串证书传输的方法
2019/03/23 PHP
Laravel框架实现文件上传的方法分析
2019/09/29 PHP
JavaScript 获取任一float型小数点后两位的小数
2014/06/30 Javascript
js实现鼠标感应向下滑动隐藏菜单的方法
2015/02/20 Javascript
JavaScript模拟实现继承的方法
2015/03/30 Javascript
jQuery的层级查找方式分析
2016/06/16 Javascript
jQuery中show与hide方法用法示例
2016/09/16 Javascript
Bootstrap弹出框modal上层的输入框不能获得焦点问题的解决方法
2016/12/13 Javascript
Bootstrap实现提示框和弹出框效果
2017/01/11 Javascript
Vue.js中的computed工作原理
2018/03/22 Javascript
Vue.js实现表格渲染的方法
2018/09/07 Javascript
Element-ui tree组件自定义节点使用方法代码详解
2018/09/17 Javascript
[14:56]教你分分钟做大人:巫医
2014/10/30 DOTA
[10:39]DOTA2上海特级锦标赛音乐会纪录片
2016/03/21 DOTA
python逐行读取文件内容的三种方法
2014/01/20 Python
Python验证码识别的方法
2015/07/10 Python
python3.5实现socket通讯示例(TCP)
2017/02/07 Python
PyCharm安装第三方库如Requests的图文教程
2018/05/18 Python
python3安装speech语音模块的方法
2018/12/24 Python
Python txt文件加入字典并查询的方法
2019/01/15 Python
python日志logging模块使用方法分析
2019/05/23 Python
Python多线程获取返回值代码实例
2020/02/17 Python
HTML5 form标签之解放表单验证、增加文件上传、集成拖放的使用方法
2013/04/24 HTML / CSS
利用Node实现HTML5离线存储的方法
2020/10/16 HTML / CSS
创先争优演讲稿
2014/09/15 职场文书
法定授权委托证明书
2014/09/27 职场文书
不听老师话的万能检讨书
2014/10/04 职场文书
冲出亚马逊观后感
2015/06/03 职场文书
葬礼主持词
2015/07/02 职场文书
JS新手入门数组处理的实用方法汇总
2021/04/07 Javascript
TV动画「神渣☆爱豆」公开第一弹主视觉图
2022/03/21 日漫