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 相关文章推荐
一个小型js框架myJSFrame附API使用帮助
Jun 28 Javascript
JqGrid web打印实现代码
May 31 Javascript
当前页禁止复制粘贴截屏代码小集
Jul 24 Javascript
基于JavaScript实现一定时间后去执行一个函数
Dec 14 Javascript
JS和jQuery使用submit方法无法提交表单的原因分析及解决办法
May 17 Javascript
Angular 应用技巧总结
Sep 14 Javascript
详解Angular2 之 结构型指令
Jun 21 Javascript
微信小程序简单实现form表单获取输入数据功能示例
Nov 30 Javascript
jQuery中$原理实例分析
Aug 13 jQuery
layui实现table加载的示例代码
Aug 14 Javascript
浅谈webpack和webpack-cli模块源码分析
Jan 19 Javascript
JavaScript展开运算符和剩余运算符的区别详解
Feb 18 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
php 过滤危险html代码
2009/06/29 PHP
php下保存远程图片到本地的办法
2010/08/08 PHP
PHP读取RSS(Feed)简单实例
2014/06/12 PHP
javascript div 弹出可拖动窗口
2009/02/26 Javascript
js中escape对应的C#解码函数 UrlDecode
2012/12/16 Javascript
js将iframe中控件的值传到主页面控件中的实现方法
2013/03/11 Javascript
js调用图片隐藏&amp;显示实现代码
2013/09/13 Javascript
用JS在浏览器中创建下载文件
2014/03/05 Javascript
Visual Studio中js调试的方法图解
2014/06/30 Javascript
JS根据年月获得当月天数的实现代码
2014/07/03 Javascript
js实现的页面矩阵图形变换特效
2016/01/26 Javascript
jquery插件方式实现table查询功能的简单实例
2016/06/06 Javascript
用自定义图片代替原生checkbox实现全选,删除以及提交的方法
2016/10/18 Javascript
nodejs和C语言插入mysql数据库乱码问题的解决方法
2017/04/14 NodeJs
微信小程序使用checkbox显示多项选择框功能【附源码下载】
2017/12/11 Javascript
JavaScript ES2019中的8个新特性详解
2019/02/20 Javascript
基于JS实现数字动态变化显示效果附源码
2019/07/18 Javascript
wx-charts 微信小程序图表插件的具体使用
2019/08/18 Javascript
layer弹出层自适应高度,垂直水平居中的实现
2019/09/16 Javascript
使用JS来动态操作css的几种方法
2019/12/18 Javascript
vue props 单项数据流实例分享
2020/02/16 Javascript
Vue 修改网站图标的方法
2020/12/31 Vue.js
[53:20]2018DOTA2亚洲邀请赛 4.1 小组赛 A组加赛 VG vs OG
2018/04/03 DOTA
在Django框架中运行Python应用全攻略
2015/07/17 Python
Python使用Tkinter实现机器人走迷宫
2018/01/22 Python
Python基于辗转相除法求解最大公约数的方法示例
2018/04/04 Python
python爬虫 execjs安装配置及使用
2019/07/30 Python
使用Python将语音转换为文本的方法
2020/08/10 Python
一款基于css3和jquery实现的动画显示弹出层按钮教程
2015/01/04 HTML / CSS
CSS3制作彩色进度条样式的代码示例分享
2016/06/23 HTML / CSS
安全生产月活动总结
2014/05/04 职场文书
职务说明书范文
2014/05/07 职场文书
团日活动总结怎么写
2014/06/25 职场文书
高中学校对照检查材料
2014/08/31 职场文书
群众路线领导干部个人对照检查材料(集锦)
2014/09/23 职场文书
导师工作推荐信
2015/03/27 职场文书