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常用方法、属性集合及NodeList 和 HTMLCollection 的浏览器差异
Dec 25 Javascript
javascript获取鼠标位置部分的实例代码(兼容IE,FF)
Aug 05 Javascript
JS对象转换为Jquery对象实现代码
Dec 29 Javascript
Javascript 遍历页面text控件详解
Jan 06 Javascript
js实现鼠标滑过文字链接色彩变化的效果
May 06 Javascript
angular中的cookie读写方法
Aug 02 Javascript
webpack处理 css\less\sass 样式的方法
Aug 21 Javascript
javascript 开发之网页兼容各种浏览器
Sep 28 Javascript
React Native react-navigation 导航使用详解
Dec 01 Javascript
聊聊JS动画库 Velocity.js的使用
Mar 13 Javascript
微信小程序 如何获取网络状态
Jul 26 Javascript
使用Layer组件弹出多个对话框(非嵌套)与关闭及刷新的例子
Sep 25 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
基于mysql的论坛(2)
2006/10/09 PHP
PHP5中的this,self和parent关键字详解教程
2007/03/19 PHP
一个很不错的PHP翻页类
2009/06/01 PHP
百度工程师讲PHP函数的实现原理及性能分析(一)
2015/05/13 PHP
JQuery 拾色器插件发布-jquery.icolor.js
2010/10/20 Javascript
网页源代码保护(禁止右键、复制、另存为、查看源文件)
2012/05/23 Javascript
网页中返回顶部代码(多种方法)另附注释说明
2013/04/24 Javascript
Jquery仿IGoogle实现可拖动窗口示例代码
2014/08/22 Javascript
jQuery自带的一些常用方法总结
2014/09/03 Javascript
js操作css属性实现div层展开关闭效果的方法
2015/05/11 Javascript
angularjs 表单密码验证自定义指令实现代码
2016/10/27 Javascript
微信小程序商城项目之淘宝分类入口(2)
2017/04/17 Javascript
BootStrap 标题设置跨行无效的解决方法
2017/10/25 Javascript
Vue.js+Layer表格数据绑定与实现更新的实例
2018/03/07 Javascript
JS实现table表格内针对某列内容进行即时搜索筛选功能
2018/05/11 Javascript
Vue.js中Line第三方登录api的实现代码
2020/06/29 Javascript
[00:38]TI珍贵瞬间系列(二):笑
2020/08/26 DOTA
python逐行读取文件内容的三种方法
2014/01/20 Python
Python爬取读者并制作成PDF
2015/03/10 Python
Python使用中文正则表达式匹配指定中文字符串的方法示例
2017/01/20 Python
python获取Linux发行版名称
2019/08/30 Python
Python可变对象与不可变对象原理解析
2020/02/25 Python
pyecharts动态轨迹图的实现示例
2020/04/17 Python
Django admin管理工具TabularInline类用法详解
2020/05/14 Python
详解查看Python解释器路径的两种方式
2020/10/15 Python
python通用数据库操作工具 pydbclib的使用简介
2020/12/21 Python
英国Boots旗下太阳镜网站:Boots Designer Sunglasses
2018/07/07 全球购物
美国马匹用品和马钉购物网站:State Line Tack
2018/08/05 全球购物
美国在线肉类和海鲜配送:Crowd Cow
2020/10/02 全球购物
匡威俄罗斯官网:Converse俄罗斯
2020/05/09 全球购物
经贸日语专业个人求职信范文
2013/12/28 职场文书
小学数学课后反思
2014/04/23 职场文书
说明书范文
2014/05/07 职场文书
体育馆的标语
2014/06/24 职场文书
赞助商致辞
2015/07/30 职场文书
Tomcat 与 maven 的安装与使用教程
2022/06/16 Servers