MIP组件开发 自定义js组件开发步骤
什么是百度MIP?
MIP(Mobile Instant Pages - 移动网页加速器)主要用于移动端页面加速
官网参考:https://www.mipengine.org/doc/00-mip-101.html
百度mip不允许自己定义js,所以需要封装再去引用,具体步骤如下:
一、安装及环境部署
具体安装步骤可参考:http://www.cnblogs.com/mipengine/p/mip_cli_1_install.html
1、依赖安装node.js
2、安装git
3、安装mip-cli
二、创建mip页面
我这里是已经有了mip页面了,具体mip页面规则可以参考:http://www.cnblogs.com/mipengine/p/mip_cli_2_page.html
三、创建新组件或者文件配置
我是直接在桌面新建一个文件夹了,mip页面放到里面,点击右键Git bash here
注:在这之前,对你页面要进行逻辑的那一部分给包裹起来。如:<mip-alert></mip-alert>。就相当于后面的创建组件以后,要在body中引入的东东
1、在 mip-extensions 仓库中创建新的组件
$ mip addelement mip-alert
mip-alert根据自己需求来取,与页面包裹的标签取名最好一致,请移步上面的注意事项
建完后会多出绿色的几个文件

2、开发组件
mip-alert.js用于定义组件,这个里面写js噢。可参考下方示例。
define(function (require) {
var customElement = require('customElement').create();
customElement.prototype.firstInviewCallback = function () {
var element = this.element;
var text = element.getAttribute('alert-text') || ' 默认 alert 内容 ';
element.addEventListener('click', function(){
alert(text);
});
};
return customElement;
});
如果你要用jquery,下面是代码
define(function (require) {
var $ = require('zepto');
var customElement = require('customElement').create();
customElement.prototype.firstInviewCallback = function () {
var element = this.element;//这个element相当于你页面包的那一层
$(element).find('video').on('play', function () {
$('.ef').hide();
});
};
return customElement;
});
参考链接:http://www.cnblogs.com/mipengine/p/mip_cli_3_extension.html
其他的文件:自行参考修改
mip-alert.less用于定义组件样式,可参考 mip-fixed/mip-fixed.less。
README.md用于说明组件用法,可参考 mip-fixed/README.md。
package.json用于记录组件版本及开发者信息,可参考 mip-fixed/package.json。
3、预览调试组件
$ mip server

打开地址可以访问了
四、登录平台上传组件
参考链接:http://www.cnblogs.com/mipengine/p/extension_platform.html
那你的组件压缩,注意必须是zip压缩包哦,上传之后会审核,组件通过审核后,会在下一个上线窗口进行上线,组件上线之后,在本地可以引入上线后的组件进行验证。
在你的mip页面中引入线上地址就好了
MIP组件开发 自定义js组件开发步骤的更多相关文章
- #003 React 组件 继承 自定义的组件
主题:React组件 继承 自定义的 组件 一.需求说明 情况说明: 有A,B,C,D 四个组件,里面都有一些公用的逻辑,比如 设置数据,获取数据,有某些公用的的属性,不想在 每一个 组件里面写这些属 ...
- 22Flutter中的常见的按钮组件 以及自定义按钮组件
/* Flutter中的常见的按钮组件 以及自定义按钮组件 一.Flutter中的按钮组件介绍 Flutter里有很多的Button组件,常见的按钮组件有:RaisedButton/FlatButto ...
- Flutter 中的常见的按钮组件 以及自定义按钮组件
Flutter 里有很多的 Button 组件很多,常见的按钮组件有:RaisedButton.FlatButton. IconButton.OutlineButton.ButtonBar.Float ...
- 基于Django Form源码开发自定义Form组件
import copy import re class ValidateError(Exception): def __init__(self, detail): self.detail = deta ...
- 软件开发(js+java开发)的启发
发现了个很重要的意义 1,一个对象,既包含被监听的参数,也包括监听处理本身 2,基于1的开发模式 3,在函数中定义监听器 4,1)高内聚: 统一面向对象,一个功能一个对象 不同对象不互相调用,不互相引 ...
- Android Studio开发基础之自定义View组件
一般情况下,不直接使用View和ViewGroup类,而是使用使用其子类.例如要显示一张图片可以用View类的子类ImageView,开发自定义View组件可分为两个主要步骤: 一.创建一个继承自an ...
- SSIS自定义数据流组件开发(血路)
由于特殊的原因(怎么特殊不解释),需要开发自定义数据流组件处理. 查了很多资料,用了不同的版本,发现各种各样的问题没有找到最终的解决方案. 遇到的问题如下: 用VS2015编译出来的插件,在SSDTB ...
- 浅尝Spring注解开发_自定义注册组件、属性赋值、自动装配
Spring注解开发 浅尝Spring注解开发,基于Spring 4.3.12 包含自定义扫描组件.自定义导入组件.手动注册组件.自动注入方法和参数.使用Spring容器底层组件等 配置 @Confi ...
- 基于React.js网页版弹窗|react pc端自定义对话框组件RLayer
基于React.js实现PC桌面端自定义弹窗组件RLayer. 前几天有分享一个Vue网页版弹框组件,今天分享一个最新开发的React PC桌面端自定义对话框组件. RLayer 一款基于react. ...
随机推荐
- arcengine自己做一个工具Tool放到工具箱中
// Copyright 2010 ESRI // // All rights reserved under the copyright laws of the United States // an ...
- 使用CKRule实现促销管理系统
1, 常见的促销模型 促销管理系统在很多地方都有使用,大家去超市就经常体现到,感受到,不少中小型单位都其促销活动,要搞促销活动最好是有应用软件支持,这样就比较灵活管理也方便.而依靠手工处理的话效率会比 ...
- windows RT开发笔记:WinRT DLL及其调用研究
一. 几个概念: WinRT : Windows Runtime, windows运行时.创建Windows运行时(WinRT)是为了在Windows上给用户提供一种流畅且安全的应用体验.WinRT会 ...
- CSS3中的变形与动画(二)
CSS3动画 过渡属性transiton-property 早期在Web中要实现动画效果,都是依赖于JavaScript或Flash来完成.但在CSS3中新增加了一个新的模块transition,它可 ...
- log4j2简单使用
http://www.cnblogs.com/lzb1096101803/p/5796849.html 如果是基于的slf4j,看这篇文章去配置 http://blog.csdn.net/neosmi ...
- 汽车后市场SWOT分析
客户接待系统SWOT分析 版本 V0.1 所有人: 王超 S 客户接待系统符合市场的目前阶段需求.填补了市场的空白部分. W 市场推广的力度差异,市场由蓝海编成红海,多种厂商参与,创业团队不断进入 ...
- Filter学习总结,顺便提及点servlet3.0异步filter和异步监听
Filter介绍: Filter在项目中经常可以用到,通常配置在web.xml中.是服务器端的一个组件,对于用户的请求和响应数据进行过滤操作,控制是否让用户访问到对应的web资源.常用于编 ...
- Struts的学习-eclipse与idea与struts的连接
1.建立一个空白工程(里面是没有文件的). 可以在文件放置找到项目文件夹 2.点击托管项目到码云 (ps:没有码云帐号的自己注册) 3.按快捷键:ctrl+alt+shift+s 呼出项目结构管理器, ...
- Python3基本数据类型(五、字典)
一.定义 字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号中: dic = {key: ...
- 微信小程序国际化
微信小程序国际化 现状 小程序国际化官方没有支持,也没有现成的插件. 网上有人做了国际化的尝试.但是只能替换静态文本,就是简单的键值匹配. vue-i18n 由于是基于html 和 vue, 不同于w ...