mpvue 单文件页面配置详解


Posted in Javascript onDecember 02, 2018

前言

mpvue 的出现把 vue 的开发体验带到了小程序这个平台中,但其目录结构与传统的 vue 项目却并不完全一致,一个典型的页面包含以下三个文件:

index.vue // 页面文件
main.js // 打包入口,完成 vue 的实例化
main.json // 小程序特有的页面配置,早期写在 main.js 文件中

其中,每个页面的 main.js 文件基本都是一致的,可通过mpvue-entry 来自动生成(weex 也有类似的处理),而 main.json 我个人认为直接在 vue 文件中配置更为合适,于是开发了mpvue-config-loader 来加以实现

本文将介绍如何在 mpvue 官方模板的基础上,通过配置 mpvue-config-loader 来实现在 vue 文件内书写小程序的页面配置

步骤

初始化项目

vue init mpvue/mpvue-quickstart my-project

安装依赖

npm i mpvue-config-loader -D

or

yarn add mpvue-config-loader -D

修改打包配置

build/webpack.base.conf.js

module.exports = {
 module: {
 rules: [
  {
  test: /\.vue$/,
  loader: 'mpvue-loader',
  options: vueLoaderConfig
  },
+  {
+  test: /\.vue$/,
+  loader: 'mpvue-config-loader',
+  exclude: [resolve('src/components')],
+  options: {
+   entry: './main.js'
+  }
+  }
 ...
 ]
 }
 ...
 plugins: [
 new MpvuePlugin(),
- new CopyWebpackPlugin([{
-  from: '**/*.json',
-  to: ''
- }], {
-  context: 'src/'
- }),
 ...
 ]
}

修改页面配置

src/App.vue - 复制 app.json 中的内容,并修改格式以符合 eslint 规范

<script>
export default {
+ config: {
+ pages: [
+  'pages/index/main',
+  'pages/logs/main',
+  'pages/counter/main'
+ ],
+ window: {
+  backgroundTextStyle: 'light',
+  navigationBarBackgroundColor: '#fff',
+  navigationBarTitleText: 'WeChat',
+  navigationBarTextStyle: 'black'
+ }
+ },
 created () {
 ...
 }
}

src/pages/logs/index.vue - 同上

import { formatTime } from '@/utils/index'
import card from '@/components/card'

export default {
+ config: {
+ navigationBarTitleText: '查看启动日志'
+ },
 ...
}
  • src/app.json - 删除
  • src/pages/logs/main.json - 删除

启动运行

npm run dev

or

yarn dev

其他

使用 mpvue-entry 的项目暂不建议使用该模块,后期会直接集成作为可选模式之一

该模块的实现方式有以下两种可选,但由于前者在编辑器中暂无法高亮,所以采用了第二种方式

  • 自定义标签 <config></config>
  • <script></script> 标签导出对象的 config 属性

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript 打开页面window.location和window.open的区别
Mar 17 Javascript
UI Events 用户界面事件
Jun 27 Javascript
js通过元素class名字获取元素集合的具体实现
Jan 06 Javascript
JS通过分析userAgent属性来判断浏览器的类型及版本
Mar 28 Javascript
WordPress中鼠标悬停显示和隐藏评论及引用按钮的实现
Jan 12 Javascript
JavaScript小技巧整理篇(非常全)
Jan 26 Javascript
字符串反转_JavaScript
Apr 28 Javascript
Bootstrap实现带动画过渡的弹出框
Aug 09 Javascript
js实现前端分页页码管理
Jan 06 Javascript
jQuery学习之DOM节点的插入方法总结
Jan 22 Javascript
js轮播图的插件化封装详解
Jul 17 Javascript
加载 vue 远程代码的组件实例详解
Nov 20 Javascript
Vuejs监听vuex中值的变化的方法示例
Dec 02 #Javascript
详解Vue一个案例引发「内容分发slot」的最全总结
Dec 02 #Javascript
在移动端使用vue-router和keep-alive的方法示例
Dec 02 #Javascript
Angular6 Filter实现页面搜索的示例代码
Dec 02 #Javascript
GOJS+VUE实现流程图效果
Dec 01 #Javascript
JavaScript实现简单轮播图效果
Dec 01 #Javascript
jQuery-ui插件sortable实现自由拖动排序
Dec 01 #jQuery
You might like
优化NFR之一 --MSSQL Hello Buffer Overflow
2006/10/09 PHP
php网页病毒清除类
2014/12/08 PHP
php解析字符串里所有URL地址的方法
2015/04/03 PHP
二级域名或跨域共享Cookies的实现方法
2008/08/07 Javascript
基于jquery的让页面控件不可用的实现代码
2010/04/27 Javascript
JS中的prototype与面向对象的实例讲解
2013/05/22 Javascript
jquery创建表格(自动增加表格)代码分享
2013/12/25 Javascript
node.js中的fs.writeFile方法使用说明
2014/12/14 Javascript
jQuery实现下滑菜单导航效果代码
2015/08/25 Javascript
js仿百度切换皮肤功能(html+css)
2016/07/10 Javascript
微信小程序 Page()函数详解
2016/10/17 Javascript
Vue.js之slot深度复制详解
2017/03/10 Javascript
JS给按钮添加跳转功能类似a标签
2017/05/30 Javascript
基于Datatables跳转到指定页的简单实例
2017/11/09 Javascript
webpack4.x CommonJS模块化浅析
2018/11/09 Javascript
mockjs+vue页面直接展示数据的方法
2018/12/19 Javascript
细说Vue组件的服务器端渲染的过程
2019/05/30 Javascript
JS删除String里某个字符的方法
2021/01/06 Javascript
基于vue手写tree插件的那点事儿
2019/08/20 Javascript
ES10的13个新特性示例(小结)
2019/09/23 Javascript
JavaScript 实现拖拽效果组件功能(兼容移动端)
2020/11/11 Javascript
使用Python脚本在Linux下实现部分Bash Shell的教程
2015/04/17 Python
总结Python编程中函数的使用要点
2016/03/20 Python
Python连接PostgreSQL数据库的方法
2016/11/28 Python
Python3连接SQLServer、Oracle、MySql的方法
2018/06/28 Python
YesBabyOnline美国:全球性的在线婚纱礼服工厂
2018/05/05 全球购物
美国在线奢侈品寄售商店:Luxury Garage Sale
2018/08/19 全球购物
女孩每月服装订阅盒:kidpik
2019/04/17 全球购物
电大毕业生自我鉴定
2013/11/10 职场文书
电厂职工自我鉴定
2014/02/20 职场文书
设计顾问服务计划书
2014/05/04 职场文书
工程材料采购方案
2014/05/18 职场文书
应届大学生自荐书
2014/06/17 职场文书
爱的奉献演讲稿
2014/09/10 职场文书
会计实训报告范文
2014/11/04 职场文书
歌咏比赛口号大全
2015/12/25 职场文书