light框架开发 light sdk 技术方案

1、快速搭建light并运行demo

按照命令顺序执行

##不容许中文路径
#1 、安装light
$ npm install -gd lighting  #安装light
$ light -h #查看版本

#2、创建项目APP (注意此处操作!!!)
$ light create -t app <folder>  # app类型项目
$ cd <folder>
 
#3、安装light-sdk
$ cd lib
$ npm install -d –save light-sdk

对 lib 目录下的 package.json 文件进行设置,引入依赖:
{
  "dependencies": {
    "light-sdk": "*"
  }
}
然后在 lib 目录下执行 npm install 完成安装。
npm install

# 4、本地运行基础模板
$ light release -wb
#自动唤起http://172.20.16.111:3000/#/index/home

# 5、安装imagemagick
brew install ghostscript
sudo chown -R `whoami`:admin /usr/local/share
brew link --overwrite ghostscript
监测安装
gs -v

brew install imagemagick
brew link libpng

#打包部署发布
light release -p 

将生成的压缩包 解压改名为www,拷贝到项目中asset中

客户端工具
win64
LightViewPC-beta3-win32-x64
mac
LightViewPC-beta3-MAC

设备助手LightView

lightView是一个APP,支持开发者在不需要证书、不需要安装的前提下,使用设备进行APP测试、问题反馈。

下载地址

2、操作过程具体细节

  • 安装恒生lighting
npm install -gd lighting
# OR 
npm install -gd lighting --registry=https://registry.npm.taobao.org
  • 查看 当前工具版本
$ light -h

    
     _  _         _      _    _               
    | |(_)       | |    | |  (_)              
    | | _   __ _ | |__  | |_  _  _ __    __ _ 
    | || | / _` || '_ \ | __|| || '_ \  / _` |
    | || || (_| || | | || |_ | || | | || (_| |
    |_||_| \__, ||_| |_| \__||_||_| |_| \__, |
            __/ |                        __/ |
           |___/                        |___/      CLI 1.15.5


    
    Usage: 

    $ light <command> [options]  [-h]

        create...........................生成工程的基本目录结构和模板文件
        gen..............................代码生成
        install..........................安装项目依赖和插件       
        release..........................代码的集成打包
        server...........................内置HTTP服务器
        plugin...........................插件的安装卸载更新
        login............................登录账户链接light平台的账户系统以进行应用管理

    Project Commands:
        
        You are not in a project directory
    

客户端工具
win64
LightViewPC-beta3-win32-x64
mac
LightViewPC-beta3-MAC

常用命令

light release -wb //编译并开启浏览器预览,监听变化
 
light release -ucsp //打包,压缩混淆代码,添加反缓存后缀,合并请求

light server --debug //开启调试模式
  • web 项目创建(此处是web项目创建)
//创建H5项目
$ light create <folder>
$ cd <folder>

生成项目

.
├── app.js
├── app.less
├── css
│   ├── reset.css
│   └── style.less
├── images
│   ├── about-active.png
│   ├── about.png
│   ├── contact-active.png
│   ├── contact.png
│   ├── home-active.png
│   ├── home.png
│   ├── more.png
│   └── scan.png
├── index.html
├── lib
│   ├── package.json
│   └── px2rem.js
├── project.json
├── ui
│   └── ui.vue
└── view
    ├── index
    │   ├── about.vue
    │   ├── contact.vue
    │   └── home.vue
    └── index.vue

运行基础模板
light release -wb

自动唤起http://172.20.16.111:3000/#/index/home

启动不同环境
light release -wb --env product 
或者 
light release -wb --env uat

打包部署

light release -p --product

目录规范


project.json

{
  "project":"lightProject",
  "version":"0.0.1",
  "desc":"Just For Fun",
  "type":"vue",
  "link_id":"",
  "plugins":[],
  "pluginConfig":{
    "proxy":{},
    "native":{},
  },
  "env":{
    "default":{
      "log_level":"debug"
    },
    "product":{
      "log_level":"error"
    }
  }
}

工程类型 project.json
APP配置

project.json
{
  "type":"vue",
  "plugins":["native"],
}

JSNative工程

project.json
{
  "type":"vue",
  "plugins":["jsnative"],
}

H5模块

{
  "type":"vue",
  "plugins":[],
}

Light生命周期


light生命周期
light视图生命周期

应用启动入口 app.js 注册全局监听、事件、拦截器

import App from "light"

App.filter("start",function (next) {
    //启动拦截器
    App.log("app started...");
    next();
}).filter("route",function (from, to, next) {
    //视图拦截器
    App.log(`view changed:${from.path}--${to.path}`);
    next()
}).start();

逻辑模块化
声明

// common.js
function sayHello(name) {
  console.log(`Hello ${name} !`)
}
function sayGoodbye(name) {
  console.log(`Goodbye ${name} !`)
}

module.exports.sayHello = sayHello
exports.sayGoodbye = sayGoodbye

引入

const common = require('common.js')
common.sayHello('MINA')

宿主环境


LightAPP开发
配置native/config.js

First
安装 imagemagick

brew install ghostscript
sudo chown -R `whoami`:admin /usr/local/share
brew link --overwrite ghostscript
监测安装
gs -v

brew install imagemagick
brew link libpng
测试
convert -density 72 a.pdf a.png

特别注意:ImageMagick不能安装到中文路径下

第一步:创建做包工程

使用指令light create -t app创建做包工程。

第二步:编辑菜单及配置文件

编辑native目录下的资源文件,如native/config.js定义整包配置项目。

第三步:打包及上传

使用light release -p指令做打包操作,将打包zip包上传到平台对应应用的条目内。

第四步:在平台集成出安装包

使用平台的在线构建编译能力输出可安装的安装包。

编写简单测试demo

  • 1、light平台注册账号
  • 2、快速引导
//创建demo程序
light create -t app  demo
//本地调试运行
light release -wb
//发布zip包
light release -p

参考链接

npm下载地址
https://www.npmjs.com/package/light-sdk

恒生light框架
http://document.lightyy.com/zh-cn/docs

恒生npm开发者主页
https://www.npmjs.com/~hslight

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 160,026评论 4 364
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,655评论 1 296
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,726评论 0 244
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,204评论 0 213
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,558评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,731评论 1 222
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,944评论 2 314
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,698评论 0 203
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,438评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,633评论 2 247
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,125评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,444评论 3 255
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,137评论 3 238
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,103评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,888评论 0 197
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,772评论 2 276
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,669评论 2 271

推荐阅读更多精彩内容

  • 1、工作中常用的小功能 草料二维码生成器 http://cli.im/在线二维码解码器 http://jie...
    愿你如夏日清凉的风阅读 2,563评论 0 9
  • 1-------- 走进前端 2-------- jQuery 3-------- CSS 4-------- A...
    依依玖玥阅读 2,281评论 0 34
  • 从海文颖的《接纳力》一书中,听到这句话,事错了,人没错。我仔细品味这句话。 我一定是曾被深深否认,事错了,人就错了...
    Lisa_001阅读 315评论 0 0
  • 昨天,我和家人们一起去沁河第一湾游玩、欣赏美景。 我们开车沿着盘山路...
    田雨松阅读 1,013评论 0 2
  • 今天是大年初二,是姑娘带着夫婿和孩子们回娘家的日子。我们和父母家离得很近,天天都要去看看他们。 今天最...
    温润清宁阅读 648评论 5 21