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
- 新增light cache命令,light cache -h查看使用说明
v1.30.7
- 兼容node 16
v1.30.6
- 支持编译时eslint检测
v1.30.5
- 可查询light环境信息
v1.30.4
- light release -u增加可配置参数
v1.30.3
- 兼容小程序2.0插件的调试模式
v1.18.1
149025 修复开启-w选项浏览器不能自动刷新的问题
v1.17.2
136053 light release -b 将url复制到剪贴板
144541 【lightviewPC&lighting】新建一个jsn模块,直接点击编译打包,无法打包成功
v1.15.5
135885 支持卸载带版本号的插件
v1.15.4
135261 light release --debug
v1.15.3
- 工程模板调整,增加一个工程模板
v1.10.3
105451 light release -p 命令可以指定输出包的文件夹
106129【工具】使用native插件打包时缓存目录
v1.10.2
104435 工具监听文件变化时忽略掉.git文件夹
104165 light工程中check插件检查源代码目录下是否有不合规的文件名并提示
104067 lighting新版本打开light1.0工程报错
103553 升级light 插件时遇到phantomjs的问题
103197 light server --debug指令在非light工程下运行报错
102711 vue代码中有错误,比如import写错,使用light release -p 打包,无法报错
102405 修改工程目录下index.html文件时的及时编译支持绑定版本的插件
v1.9.1
91945 lightSDK新增打印warn级别日志接口
91953 lightSDK新增打印error级别日志接口
91957 lightSDK新增打印debug级别日志接口
91959 lightSDK新增打印info级别日志
91963 lightSDK新增打印verbose级别日志接口
94803 lightsdk新增接口setTabBarBadge(设置首页tab小红点)
94805 新增接口setTabBarBadge(设置首页tab小红点)文档
96581 修复了“华为mate9存在软键盘开启键盘然后收起,应用底部始终留有软键盘大小的黑条”的问题
96673 light release -r 指定要运行的工程目录
v1.8.2
78690 imagemin插件支持和 type-vue插件同时使用
78860 增加插件的自动检查更新机制
88989 手动模式下switch组件的弹出确认框文本可自定义
90601 overlay遮罩层添加阻止冒泡事件
90609 slider-bar在安卓下单滑块时,数值可以跟随手势变化
90649 lighting编译受node进程可用内存的限制只能使用1.5G,随着编译项目的增加不够用
90655 启动图launch.png在处理成不同尺寸的时候,出现了拉伸变形的情况,请问这边需要怎么处理呢?是不是我自己准备好各个尺寸的图片放进配置包里面也可以?
91275 index.html对视图的变更修改后支持不需要重新release就能正常运行
92697 补充文档appdisappear和appappear
92735 安卓启动图增加3个尺寸19201080,21601080,2240*1080
92825 LightSDK.native.readData方法报的,在web端返回返回信息有一部分被遮盖住
93553 新增lc-web组件,用于jsn中打开外部web链接
93779 lighting工程编译时如果是添加了-w选项则在控制台提示用户可以查看编译资源树及分析
93781 lighting工程不管是jsn项目还是纯h5项目都在控制台显示二维码
93785 lighting工程在展示当前视图的dom节点数量和最深的节点层次
93817 ajax方法增加cache参数,对请求的数据进行本地化缓存
92869 scroller组件不设高度,无法发出scroll事件
v1.8.1
84429 异步视图注册自定义生命周期
86453 未安装imagemagic的情况下native插件要提示出来
88845 light的create指令增加-r --root参数指定生成路径
88993 lighting中自带模板 jsn-app中的内置模块版本号调整
89611 weex的render模块无法支持light工程中自定义的功能处理,需要fork后发布为weex-vue-render4light,支持stream.fetch接口的在h5渲染时的
89613 weex的render模块无法支持light工程中自定义的功能处理,需要fork后发布为weex-vue-render4light,修复当stream.fetch接口当内部出现th
89815 getLocation获取经纬度接口兼容H5
89823 数据存取及删除接口multi_param字段兼容H5
90235 当url太长时,qrcode会报错
90241 config.js中支持自定义错误页面
90257 LightSDK.native.readData方法报的。 如果读的是不存在的数据,在web端返回 {data:{result: null}},而在native端报了另一种形式的错
90835 jsn异步视图传参,不能正常的在自定义生命周期中使用参数
90847 jsn运行环境中支持slot-scope特性
91317 LightSDK.native.openUrl 方法支持web端
91631 最新版本chrome的console打印二维码
v1.6.0
70698 执行 light plugin --fix命令,将npm的缓存目录清空
74390 [文档补充]navigate接口、view标签各个属性的描述与说明、start的启动参数文档-补充到gitbook中并发布
74392 jsn中是否支持dom操作的问题验证
74412 lighting中light.fetch接口和ajax接口做整合,在jsn运行时使用light.fetch作为ajax实现
74502 增加light install 命令,识别projectjson文件中的配置,自动安装所需的插件
74686 增加light 运行任意命令时检查最新版本的能力,并显示给用户
75138 lighting现在只有h5支持自定义的build.js,jsn也需要自定义build.js的支持以使用resolve.alias
75506 light项目中的资源依赖支持出现在根目录
81153 lighting在无网络环境下的自动检查更新的功能会导致程序进程无法退出
v1.5.1
61578【lighting】编译的时候是否会使用 autoprefixer 对样式进行处理
70698 执行 light plugin --fix命令,将npm的缓存目录清空
71588 封装event.open在jsn中打开资源
73234 lighting支持以本地ip打开浏览器而不是一直localhost
73236 native插件生成出来的gmu文件自动格式化(避免显示成1行)
73238 jsn调试可以指定视图进行调试
73242 light框架自动将light变量注入到Vue的prototype中,用this.$light调用
v1.4.8
59982【lighting】“light release --upload”: 兼容性
61306【lighting】再增加一个参数单独控制是否开启vConsole
- 增加模版工程的package.json
- 调整模板的内容和代码,各模板的只能更加清晰
- 插件安装如果添加有lighting-plugin-则自动处理
- 修改整包做包的工程配置型,简化做包的配置项目
- 支持以ip打开浏览器
- light plugin --fix: 清空npm缓存中的插件目录
- light install:安装项目依赖和插件
- 自动检查更新并提醒用户
- 增加server参数是否开启调试服务模式
v1.4.7
- 增加weex环境的编译输出能力,全面支持jsnative开发,让应用开发性能更高
- 增加jsn模板
59500【lighting】增加样式文件的增量编译能力
- 增加api工程类型
- 增加serve的插件运行阶段
59978【lighting】“light create –t”: 增加项目类型介绍
59980【lighting】“light create”: 增加App ID关联命令
- 修复lighting工具运行jsn程序无法使用upload参数的问题
v1.4.5
48276 lighting安装type-vue偶发出错的问题处理
- 修复:windows操作系统下多次修改的watch操作偶尔产生文件未编译的问题处理
2017.07.31
46590 Light打包需要支持输出文件名自定义,1.0产品发给客户的程序包名一般是固定的,不会每个都在变
- 优化帮助信息的展示,优化日志的输出的样式,提高易用性
- 新增:增加login指令进行平台登录操作
- 新增:release命令新增--upload参数,直接将打包成功后的包发布到平台
44672 排除压缩的资源(选择不压缩在--product -p打包的时候,不压缩特定的资源)
45242 增加排除选项,排除特定的资源出现在打包后的输出包中
2017.07.11
- 修复window系统下打包的问题
2017.06.15
- 新版本功能
- 异步加载的视图支持混合模式(html和js全异步)
- 修复suffix命令在http下文件处理的问题
2017.05.04
48712【开发】新增插件的卸载指令或者参数
- 增加插件安装环境重置的指令参数
--fix
- 增加查看当前安装的插件列表和安装版本的指令参数
--list
- 增加更新当前安装的插件的指令参数
--upgrade
,如不带参数则升级所有插件 48700【开发】日志输出警告的颜色调整成红色
2017.05.02
35536【lighting】【开发框架】page配置化
37026 light -v指令需要展示当前版本的最新更新
2017.04.20
- release内核深度优化,提升编译效率
36176 开发工具】当vue单文件组件当中使用了es6语法的时候回去寻找补丁,这时会造成资源引用出错
35912 有个建议,在page里css和js压缩合并后的名字的定义在构建的时候可以检查报警下,有时候不小心两个文件的名字起重了会出问题
35878 sprites插件支持和less插件同时使用
32822【Lighting】【打包工具】lighting打包工具支持增量编译
- 增加全局配置文件,可以进行lighting工具的全局化设置($HOME/.lighting-plugins/lighting-global.json)
2017.04.14
- 修复:不开启-s选项打包报错的问题修复
- 优化:如果配置文件里面配置了plugins则不用再需要-e选项
- 优化:mac下有个bug,要手动删除一下$HOME/.lighting-plugins/lib这个目录
2017.04.13
34890【Lighting】【打包工具】后缀策略s和多态打包的策略有冲突需要调整
2017.03.28
- 优化自带模板工程移除多余的config文件一面对开发者打包造成困扰
- 优化server命令的日志信息输出
- 优化create命令的日志信息输出
- 优化插件加载流程,避免插件启用后多次初始化导致内存占用陡增的问题
- 优化编译过程中的编译错误一旦发生立即抛出,便于排错
2017.03.09
- 优化:create命令优化
- 优化:server命令优化
2017.03.02
- 优化:插件加载优化
2017.01.20
- 新增:工程间资源依赖,提高代码复用
- 优化:vue插件功能优化
- 优化:工具根据project.json的配置安装插件
- 优化:更新模板工程以及工具说明的资源路径为www.lightyy.com
2017.01.01
- Issue#2 watch下资源连续变更,release触发多次的问题
- Issue#3 watch下资源编译与httpserver对资源的请求造成资源占用,无法正常进行编译处理,最终进程退出出错
- Issue#4 工具现阶段还没有支持组件(component)的代码生成
- Issue#5 工具通过代码生成出来的视图代码的生命周期函数不完整
- Issue#8 增加对vue单文件组件的支持,提交应用的开发效率
- 优化reload触发条件,当编译真正完成的时候才触发reload
- 优化插件安装的目录结构增加,单目录的管理和控制
- release的启用插件命令台粗暴了,要么全用要么不用显然不合适的,应该改为根据配置文件去读取启用哪一个插件
- 多态打包,通过命令行参数,传入打包策略,一次性输出多个包,规则有配置文件说了算
2016.10.08
- 修复多也页面情况下suffix生成不统一的问题
2016.09.30
- 修复socket监听次数过多的问题
2016.09.28
- 修复html代码压缩导致页面无法正常使用的问题
- 修复websocket维持livereload偶尔出错的问题
2016.09.26
- 修复新框架gen出错的问题
2016.09.21
- 修复:windows下浏览器无法打开的问题
- 新增:和框架配合代理客户端日志,当用手机打开的时候代理日志
2016.09.16
- 优化:精简代码结构,提高代码执行效率(80%的代码进行了重构)
- 优化:减小工程依赖,剔除了60%的依赖包,核心功能最小实现
- 增加:提供插件体系,通过新增指令plugin可以安装插件,现阶段提供三个插件es6/jade/less
- 增加:程序执行异常的时候增加进程退出标志,错误码255
- 修复:修复一直以来的最大缺陷对换行符不再敏感,多平台兼容支持
- 增加:增加lighting开发框架1.0的支持,可以辅助light1.0框架的开发
- 优化:开启浏览器自动刷新特性后不再多占用系统端口,和http端口共用
2016.09.05
- 移除无用的依赖ascii-art
2016.09.09
- 修复livereload端口冲突多个项目同时开启后自动刷新的问题
2016.08.09
- 增加支持框架light-1.0
- 减少npm依赖的包,提高下载速度
- 优化应用创建的代码逻辑
- 优化应用代码生成的代码逻辑
2016.07.08
- 修复模板编译在win系统下出现路径的问题
2016.07.01
- 增加特性,生成离线应用的manifest文件
2016.06.30
- 修复创建应用的时候版本指定错误的问题
- 修复重复创建应用偶发异常的问题
- 优化代码引入的错误提示,当未使用gen就release时合理报错
- 优化代码集成的代码逻辑,优化jade代码的集成处理
- 增加特性,打开浏览器时候指定服务端口的能力,不再限制为3000,避免开多个cmd窗口的问题
- 增加特性,当添加suffix后缀的时候生成资源的manifest清单文件,允许客户端查询更新,实现按需刷新
- 增加特性,打包的时候生成manifest.json,以使开发者程序可以通过ajax请求获取应用相关信息
2016.06.17
- 修复应用无法创建的问题
2016.06.01
- 增加子视图的支持
2016.05.31
- 修正如果不添加inject:view则不引入视图以避免错误
2016.05.30
- 彻底移除gitbook
2016.05.09
- 去除gitbook减小发布包的体积
- 修复视图注入的注解在body外的时候无法找到的问题(inject只能在body根或者html根)
2016.04.14
- 增加图片压缩的能力,对所有格式的图片做压缩有效降低请求量
- 修复create -t light出错无法正常进行的问题
2016.04.06
- 修复当script标签在body之外的时候,无法正常找到节点的问题
- 增加文档内容的编译输出(以gitbook为样板)
- 修复angularjs/light框架下gen生成regist文件错误的问题
- angularjs的试图文件是异步加载的,变更为异步加载
- 支持css目录里面包含图片文件
- 调整gitboot为budle模式
2016.03.30
- 去除模板编译时引入的htmldom
- 去除未加concat选项的时候做了concat操作
- 修复concat操作的时候无法将多个1行中的js文件合并
- 修复windows下路径的问题(// \)
2016.03.29
- 修改资源引入的方式,如果资源不使用注解包含,则不合并(其他不影响)
- 修改watch的实现,当资源过多的时候他提高性能(分类型watch减少编译步骤,减少刷新请求资源)
- 修改功能实现,模板资源(js)不再统一引入,需要手动引入
2016.03.25
- 将所有依赖添加为bundle dependencies
- 依赖关系线性化,减少包体积
- 修复windows系统下空格导致的编译集成异常
- 修复angularjs和bootstrap结合的dom结构有点小问题
- 修复单个css资源无法正常引入的问题
2016.03.24
- 去除release的type选项
- 去除一些不合适的功能使用说明
- 修复第一次打开server编译未完成的情况,页面无法正常展示
- 修复日志格式为light
2016.03.23
- 强大功能来了,当使用release -wb选项的时候,页面修改完自动刷新浏览器
- 修复watch数据出错的问题,正常watch不报错
- 增加支持CoffeeScript,更加方便和简单的javascript
- 修复无法查看子命令帮助信息的问题,light release -h可以正常使用
2016.03.22
- 增加concat选项,配置是否合并引入资源
- 调整优化选项,将uglify调整为压缩策略,不再认为其为优化测率额
- 调整所有的配置优化选项不再默认开启可以组合优化选项,可以自由组合搭配
- 增加组合优化选项,使用于生产配置,product默认包含压缩合并
- 优化对anglarjs的支持,支持angularjs的代码生成与框架整合
- 修改一些参数使用上的说明
2016.03.21
- 优化调整代码结构
- 完善支持jade和其他js框架的能力
- 将视图的概念通用化,适用与所有的框架
2016.03.18
- 增加framwork7移动端开发框架的支持(create指定类型可以创建f7的框架工程)
- 增加html模板支持,当使用html页面的时候对于存在与html目录的文件做模板编译处理,先支持jade
2016.03.17
- 修复当本地未安装git客户端的时候工具无法成功安装的问题
- 增加版本信息输出的专业性
- 全局异常捕获,异常输出的专业性
- 增加支持angularjs框架
- 修复当页面(page)中不包含视图标签(view)的时候,不引入regist的js
2016.03.16
- 增加less支持
- 增加ignore配置支持,ignore不输出到dist目录或者包中
- 增加template模板支持,以及增加模板根据定义的自动引入能力
- 增加视图js的自动引入能力,透明化regist文件,让regist文件不被开发者所感知
- 限制所有js/css/less资源必须声明在build注解中
- 添加日志内容输出,详细的输出打包编译集成的完整过程
- 对release命令的watch选项增加延时处理,避免频繁修改文件的时候过度占用资源