lighting

恒生移动web应用平台(Light)快速开发集成工具箱

Usage no npm install needed!

<script type="module">
  import lighting from 'https://cdn.skypack.dev/lighting';
</script>

README

lighting 是基于 nodejs 构建的一个命令行工具,使用 lighting 可以快速搭建 H5、APP、RestAPI 的开发工程环境(结合 VSCode 最佳)、本地开发调试、设备联机调试、集成优化出包,以及面向云平台的快速发布。

安装

npm install -gd lighting
# OR
npm install -gd lighting --registry=https://registry.npm.taobao.org

lighting 安装完成后在命令行窗口内键入 light -h 可以查看当前工具的版本号以及指令列表,这样 light 的开发环境就搭建好了。


$ light -h


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



    Usage:

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

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

    Project Commands:

        You are not in a project directory


使用

一些常用的命令:

light release -wb //编译并开启浏览器预览,监听变化

light release -ucsp //打包,压缩混淆代码,添加反缓存后缀,合并请求

light server --debug //开启调试模式

文档

查看更多的 lighting 开发指南,请点击这里

更新记录

v1.30.8

  1. 新增light cache命令,light cache -h查看使用说明

v1.30.7

  1. 兼容node 16

v1.30.6

  1. 支持编译时eslint检测

v1.30.5

  1. 可查询light环境信息

v1.30.4

  1. light release -u增加可配置参数

v1.30.3

  1. 兼容小程序2.0插件的调试模式

v1.18.1

  1. 149025 修复开启-w选项浏览器不能自动刷新的问题

v1.17.2

  1. 136053 light release -b 将url复制到剪贴板

  2. 144541 【lightviewPC&lighting】新建一个jsn模块,直接点击编译打包,无法打包成功

v1.15.5

  1. 135885 支持卸载带版本号的插件

v1.15.4

  1. 135261 light release --debug

v1.15.3

  1. 工程模板调整,增加一个工程模板

v1.10.3

  1. 105451 light release -p 命令可以指定输出包的文件夹

  2. 106129【工具】使用native插件打包时缓存目录

v1.10.2

  1. 104435 工具监听文件变化时忽略掉.git文件夹

  2. 104165 light工程中check插件检查源代码目录下是否有不合规的文件名并提示

  3. 104067 lighting新版本打开light1.0工程报错 

  4. 103553 升级light 插件时遇到phantomjs的问题 

  5. 103197 light server --debug指令在非light工程下运行报错

  6. 102711 vue代码中有错误,比如import写错,使用light release -p 打包,无法报错

  7. 102405 修改工程目录下index.html文件时的及时编译支持绑定版本的插件

v1.9.1

  1. 91945 lightSDK新增打印warn级别日志接口

  2. 91953 lightSDK新增打印error级别日志接口

  3. 91957 lightSDK新增打印debug级别日志接口​

  4. 91959 lightSDK新增打印info级别日志

  5. 91963 lightSDK新增打印verbose级别日志接口

  6. 94803 lightsdk新增接口setTabBarBadge(设置首页tab小红点)

  7. 94805 新增接口setTabBarBadge(设置首页tab小红点)文档

  8. 96581 修复了“华为mate9存在软键盘开启键盘然后收起,应用底部始终留有软键盘大小的黑条”的问题

  9. 96673 light release -r 指定要运行的工程目录

v1.8.2

  1. 78690 imagemin插件支持和 type-vue插件同时使用

  2. 78860 增加插件的自动检查更新机制

  3. 88989 手动模式下switch组件的弹出确认框文本可自定义

  4. 90601 overlay遮罩层添加阻止冒泡事件

  5. 90609 slider-bar在安卓下单滑块时,数值可以跟随手势变化

  6. 90649 lighting编译受node进程可用内存的限制只能使用1.5G,随着编译项目的增加不够用

  7. 90655 启动图launch.png在处理成不同尺寸的时候,出现了拉伸变形的情况,请问这边需要怎么处理呢?是不是我自己准备好各个尺寸的图片放进配置包里面也可以?

  8. 91275 index.html对视图的变更修改后支持不需要重新release就能正常运行

  9. 92697 补充文档appdisappear和appappear

  10. 92735 安卓启动图增加3个尺寸19201080,21601080,2240*1080

  11. 92825 LightSDK.native.readData方法报的,在web端返回返回信息有一部分被遮盖住

  12. 93553 新增lc-web组件,用于jsn中打开外部web链接

  13. 93779 lighting工程编译时如果是添加了-w选项则在控制台提示用户可以查看编译资源树及分析

  14. 93781 lighting工程不管是jsn项目还是纯h5项目都在控制台显示二维码

  15. 93785 lighting工程在展示当前视图的dom节点数量和最深的节点层次

  16. 93817 ajax方法增加cache参数,对请求的数据进行本地化缓存

  17. 92869 scroller组件不设高度,无法发出scroll事件

v1.8.1

  1. 84429 异步视图注册自定义生命周期

  2. 86453 未安装imagemagic的情况下native插件要提示出来

  3. 88845 light的create指令增加-r --root参数指定生成路径

  4. 88993 lighting中自带模板 jsn-app中的内置模块版本号调整

  5. 89611 weex的render模块无法支持light工程中自定义的功能处理,需要fork后发布为weex-vue-render4light,支持stream.fetch接口的在h5渲染时的

  6. 89613 weex的render模块无法支持light工程中自定义的功能处理,需要fork后发布为weex-vue-render4light,修复当stream.fetch接口当内部出现th

  7. 89815 getLocation获取经纬度接口兼容H5

  8. 89823 数据存取及删除接口multi_param字段兼容H5

  9. 90235 当url太长时,qrcode会报错

  10. 90241 config.js中支持自定义错误页面

  11. 90257 LightSDK.native.readData方法报的。 如果读的是不存在的数据,在web端返回 {data:{result: null}},而在native端报了另一种形式的错

  12. 90835 jsn异步视图传参,不能正常的在自定义生命周期中使用参数

  13. 90847 jsn运行环境中支持slot-scope特性

  14. 91317 LightSDK.native.openUrl 方法支持web端

  15. 91631 最新版本chrome的console打印二维码

v1.6.0

  1. 70698 执行 light plugin --fix命令,将npm的缓存目录清空

  2. 74390 [文档补充]navigate接口、view标签各个属性的描述与说明、start的启动参数文档-补充到gitbook中并发布

  3. 74392 jsn中是否支持dom操作的问题验证

  4. 74412 lighting中light.fetch接口和ajax接口做整合,在jsn运行时使用light.fetch作为ajax实现

  5. 74502 增加light install 命令,识别projectjson文件中的配置,自动安装所需的插件

  6. 74686 增加light 运行任意命令时检查最新版本的能力,并显示给用户

  7. 75138 lighting现在只有h5支持自定义的build.js,jsn也需要自定义build.js的支持以使用resolve.alias

  8. 75506 light项目中的资源依赖支持出现在根目录

  9. 81153 lighting在无网络环境下的自动检查更新的功能会导致程序进程无法退出

v1.5.1

  1. 61578【lighting】编译的时候是否会使用 autoprefixer 对样式进行处理

  2. 70698 执行 light plugin --fix命令,将npm的缓存目录清空

  3. 71588 封装event.open在jsn中打开资源

  4. 73234 lighting支持以本地ip打开浏览器而不是一直localhost

  5. 73236 native插件生成出来的gmu文件自动格式化(避免显示成1行)

  6. 73238 jsn调试可以指定视图进行调试

  7. 73242 light框架自动将light变量注入到Vue的prototype中,用this.$light调用

v1.4.8

  1. 59982【lighting】“light release --upload”: 兼容性

  2. 61306【lighting】再增加一个参数单独控制是否开启vConsole

  3. 增加模版工程的package.json
  4. 调整模板的内容和代码,各模板的只能更加清晰
  5. 插件安装如果添加有lighting-plugin-则自动处理
  6. 修改整包做包的工程配置型,简化做包的配置项目
  7. 支持以ip打开浏览器
  8. light plugin --fix: 清空npm缓存中的插件目录
  9. light install:安装项目依赖和插件
  10. 自动检查更新并提醒用户
  11. 增加server参数是否开启调试服务模式

v1.4.7

  1. 增加weex环境的编译输出能力,全面支持jsnative开发,让应用开发性能更高
  2. 增加jsn模板
  3. 59500【lighting】增加样式文件的增量编译能力

  4. 增加api工程类型
  5. 增加serve的插件运行阶段
  6. 59978【lighting】“light create –t”: 增加项目类型介绍

  7. 59980【lighting】“light create”: 增加App ID关联命令

  8. 修复lighting工具运行jsn程序无法使用upload参数的问题

v1.4.5

  1. 48276 lighting安装type-vue偶发出错的问题处理

  2. 修复:windows操作系统下多次修改的watch操作偶尔产生文件未编译的问题处理

2017.07.31

  1. 46590 Light打包需要支持输出文件名自定义,1.0产品发给客户的程序包名一般是固定的,不会每个都在变

  2. 优化帮助信息的展示,优化日志的输出的样式,提高易用性
  3. 新增:增加login指令进行平台登录操作
  4. 新增:release命令新增--upload参数,直接将打包成功后的包发布到平台
  5. 44672 排除压缩的资源(选择不压缩在--product -p打包的时候,不压缩特定的资源)

  6. 45242 增加排除选项,排除特定的资源出现在打包后的输出包中

2017.07.11

  1. 修复window系统下打包的问题

2017.06.15

  1. 新版本功能
  2. 异步加载的视图支持混合模式(html和js全异步)
  3. 修复suffix命令在http下文件处理的问题

2017.05.04

  1. 48712【开发】新增插件的卸载指令或者参数

  2. 增加插件安装环境重置的指令参数--fix
  3. 增加查看当前安装的插件列表和安装版本的指令参数--list
  4. 增加更新当前安装的插件的指令参数--upgrade,如不带参数则升级所有插件
  5. 48700【开发】日志输出警告的颜色调整成红色

2017.05.02

  1. 35536【lighting】【开发框架】page配置化

  2. 37026 light -v指令需要展示当前版本的最新更新

2017.04.20

  1. release内核深度优化,提升编译效率
  2. 36176 开发工具】当vue单文件组件当中使用了es6语法的时候回去寻找补丁,这时会造成资源引用出错

  3. 35912 有个建议,在page里css和js压缩合并后的名字的定义在构建的时候可以检查报警下,有时候不小心两个文件的名字起重了会出问题

  4. 35878 sprites插件支持和less插件同时使用

  5. 32822【Lighting】【打包工具】lighting打包工具支持增量编译

  6. 增加全局配置文件,可以进行lighting工具的全局化设置($HOME/.lighting-plugins/lighting-global.json)

2017.04.14

  1. 修复:不开启-s选项打包报错的问题修复
  2. 优化:如果配置文件里面配置了plugins则不用再需要-e选项
  3. 优化:mac下有个bug,要手动删除一下$HOME/.lighting-plugins/lib这个目录

2017.04.13

  1. 34890【Lighting】【打包工具】后缀策略s和多态打包的策略有冲突需要调整

2017.03.28

  1. 优化自带模板工程移除多余的config文件一面对开发者打包造成困扰
  2. 优化server命令的日志信息输出
  3. 优化create命令的日志信息输出
  4. 优化插件加载流程,避免插件启用后多次初始化导致内存占用陡增的问题
  5. 优化编译过程中的编译错误一旦发生立即抛出,便于排错

2017.03.09

  1. 优化:create命令优化
  2. 优化:server命令优化

2017.03.02

  1. 优化:插件加载优化

2017.01.20

  1. 新增:工程间资源依赖,提高代码复用
  2. 优化:vue插件功能优化
  3. 优化:工具根据project.json的配置安装插件
  4. 优化:更新模板工程以及工具说明的资源路径为www.lightyy.com

2017.01.01

  1. Issue#2 watch下资源连续变更,release触发多次的问题
  2. Issue#3 watch下资源编译与httpserver对资源的请求造成资源占用,无法正常进行编译处理,最终进程退出出错
  3. Issue#4 工具现阶段还没有支持组件(component)的代码生成
  4. Issue#5 工具通过代码生成出来的视图代码的生命周期函数不完整
  5. Issue#8 增加对vue单文件组件的支持,提交应用的开发效率
  6. 优化reload触发条件,当编译真正完成的时候才触发reload
  7. 优化插件安装的目录结构增加,单目录的管理和控制
  8. release的启用插件命令台粗暴了,要么全用要么不用显然不合适的,应该改为根据配置文件去读取启用哪一个插件
  9. 多态打包,通过命令行参数,传入打包策略,一次性输出多个包,规则有配置文件说了算

2016.10.08

  1. 修复多也页面情况下suffix生成不统一的问题

2016.09.30

  1. 修复socket监听次数过多的问题

2016.09.28

  1. 修复html代码压缩导致页面无法正常使用的问题
  2. 修复websocket维持livereload偶尔出错的问题

2016.09.26

  1. 修复新框架gen出错的问题

2016.09.21

  1. 修复:windows下浏览器无法打开的问题
  2. 新增:和框架配合代理客户端日志,当用手机打开的时候代理日志

2016.09.16

  1. 优化:精简代码结构,提高代码执行效率(80%的代码进行了重构)
  2. 优化:减小工程依赖,剔除了60%的依赖包,核心功能最小实现
  3. 增加:提供插件体系,通过新增指令plugin可以安装插件,现阶段提供三个插件es6/jade/less
  4. 增加:程序执行异常的时候增加进程退出标志,错误码255
  5. 修复:修复一直以来的最大缺陷对换行符不再敏感,多平台兼容支持
  6. 增加:增加lighting开发框架1.0的支持,可以辅助light1.0框架的开发
  7. 优化:开启浏览器自动刷新特性后不再多占用系统端口,和http端口共用

2016.09.05

  1. 移除无用的依赖ascii-art

2016.09.09

  1. 修复livereload端口冲突多个项目同时开启后自动刷新的问题

2016.08.09

  1. 增加支持框架light-1.0
  2. 减少npm依赖的包,提高下载速度
  3. 优化应用创建的代码逻辑
  4. 优化应用代码生成的代码逻辑

2016.07.08

  1. 修复模板编译在win系统下出现路径的问题

2016.07.01

  1. 增加特性,生成离线应用的manifest文件

2016.06.30

  1. 修复创建应用的时候版本指定错误的问题
  2. 修复重复创建应用偶发异常的问题
  3. 优化代码引入的错误提示,当未使用gen就release时合理报错
  4. 优化代码集成的代码逻辑,优化jade代码的集成处理
  5. 增加特性,打开浏览器时候指定服务端口的能力,不再限制为3000,避免开多个cmd窗口的问题
  6. 增加特性,当添加suffix后缀的时候生成资源的manifest清单文件,允许客户端查询更新,实现按需刷新
  7. 增加特性,打包的时候生成manifest.json,以使开发者程序可以通过ajax请求获取应用相关信息

2016.06.17

  1. 修复应用无法创建的问题

2016.06.01

  1. 增加子视图的支持

2016.05.31

  1. 修正如果不添加inject:view则不引入视图以避免错误

2016.05.30

  1. 彻底移除gitbook

2016.05.09

  1. 去除gitbook减小发布包的体积
  2. 修复视图注入的注解在body外的时候无法找到的问题(inject只能在body根或者html根)

2016.04.14

  1. 增加图片压缩的能力,对所有格式的图片做压缩有效降低请求量
  2. 修复create -t light出错无法正常进行的问题

2016.04.06

  1. 修复当script标签在body之外的时候,无法正常找到节点的问题
  2. 增加文档内容的编译输出(以gitbook为样板)
  3. 修复angularjs/light框架下gen生成regist文件错误的问题
  4. angularjs的试图文件是异步加载的,变更为异步加载
  5. 支持css目录里面包含图片文件
  6. 调整gitboot为budle模式

2016.03.30

  1. 去除模板编译时引入的htmldom
  2. 去除未加concat选项的时候做了concat操作
  3. 修复concat操作的时候无法将多个1行中的js文件合并
  4. 修复windows下路径的问题(// \)

2016.03.29

  1. 修改资源引入的方式,如果资源不使用注解包含,则不合并(其他不影响)
  2. 修改watch的实现,当资源过多的时候他提高性能(分类型watch减少编译步骤,减少刷新请求资源)
  3. 修改功能实现,模板资源(js)不再统一引入,需要手动引入

2016.03.25

  1. 将所有依赖添加为bundle dependencies
  2. 依赖关系线性化,减少包体积
  3. 修复windows系统下空格导致的编译集成异常
  4. 修复angularjs和bootstrap结合的dom结构有点小问题
  5. 修复单个css资源无法正常引入的问题

2016.03.24

  1. 去除release的type选项
  2. 去除一些不合适的功能使用说明
  3. 修复第一次打开server编译未完成的情况,页面无法正常展示
  4. 修复日志格式为light

2016.03.23

  1. 强大功能来了,当使用release -wb选项的时候,页面修改完自动刷新浏览器
  2. 修复watch数据出错的问题,正常watch不报错
  3. 增加支持CoffeeScript,更加方便和简单的javascript
  4. 修复无法查看子命令帮助信息的问题,light release -h可以正常使用

2016.03.22

  1. 增加concat选项,配置是否合并引入资源
  2. 调整优化选项,将uglify调整为压缩策略,不再认为其为优化测率额
  3. 调整所有的配置优化选项不再默认开启可以组合优化选项,可以自由组合搭配
  4. 增加组合优化选项,使用于生产配置,product默认包含压缩合并
  5. 优化对anglarjs的支持,支持angularjs的代码生成与框架整合
  6. 修改一些参数使用上的说明

2016.03.21

  1. 优化调整代码结构
  2. 完善支持jade和其他js框架的能力
  3. 将视图的概念通用化,适用与所有的框架

2016.03.18

  1. 增加framwork7移动端开发框架的支持(create指定类型可以创建f7的框架工程)
  2. 增加html模板支持,当使用html页面的时候对于存在与html目录的文件做模板编译处理,先支持jade

2016.03.17

  1. 修复当本地未安装git客户端的时候工具无法成功安装的问题
  2. 增加版本信息输出的专业性
  3. 全局异常捕获,异常输出的专业性
  4. 增加支持angularjs框架
  5. 修复当页面(page)中不包含视图标签(view)的时候,不引入regist的js

2016.03.16

  1. 增加less支持
  2. 增加ignore配置支持,ignore不输出到dist目录或者包中
  3. 增加template模板支持,以及增加模板根据定义的自动引入能力
  4. 增加视图js的自动引入能力,透明化regist文件,让regist文件不被开发者所感知
  5. 限制所有js/css/less资源必须声明在build注解中
  6. 添加日志内容输出,详细的输出打包编译集成的完整过程
  7. 对release命令的watch选项增加延时处理,避免频繁修改文件的时候过度占用资源