lighting-dev
恒生移动web应用平台(Light)快速开发集成工具箱
Last updated a year ago by wangyb10555 .
ISC · Original npm · Tarball · package.json
$ cnpm install lighting-dev -g
SYNC missed versions from official npm registry.

Lighting构建工具内置了六个基本的命令,如下图light -h的输出;其中前三个指令和开发阶段的联系非常紧密,我们将逐一介绍,所有指令都可以分别调用其help选项查看详情。

abel@Abel-Linux /t/demo> light -h


     _  _         _      _    _
    | |(_)       | |    | |  (_)
    | | _   __ _ | |__  | |_  _  _ __    __ _
    | || | / _` || '_ \ | __|| || '_ \  / _` |
    | || || (_| || | | || |_ | || | | || (_| |
    |_||_| \__, ||_| |_| \__||_||_| |_| \__, |
            __/ |                        __/ |
           |___/                        |___/      CLI 1.6.0-beta1



    Usage:

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

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

    Project Commands:

        light gen........................在工程的html文件中配置完视图后生成视图的骨架
        light release -w -b..............开发过程中监视文件变更并打开浏览器
        light release -u -c -s -p........开发完成后打包输出生成配置包
        light server -r . -p 3000........使用内置的server提供http服务

创建指令-create

以下的一条命令可以列出所有create子命令所支持的选项和每个选项所具有的意义。

abel@abel-pc ~> light create -h

  Usage: create [directory]

  初始化工程目录结构


  Options:

    -t --type <type>          需要创建的工程类型,默认类型vue
    -d --des <des>            工程的描述信息
    -v --ver <ver>            创建的工程的版本信息
    -n --project-name <name>  工程的名字
    --force                   是否强制清除已经存在的目录
    --list                    展示当前工具所支持的工程类型(模板类型)
    --id <id>                 设置当前应用关联的id(组件id或者应用id)
    -h, --help                output usage information

选项 说明
选项-d 工程的描述信息,您所输入的内容会体现在project.json当中,只要是为了描述这个工程的目的或者功能。
选项-v 工程的版本信息,您所输入的内容会体现在project.json当中,只要是为了描述这个工程初始化版本。
选项-n 工程的名字信息,您所输入的内容会体现在project.json当中,只要是为了描述这个工程初始化名字。
选项-t 需要创建的工程类型,默认为vue
选项--id 设置当前工程关联的组件ID或者应用ID,方便后续应用程序的部署和发布
选项--force 是否强制清除已经存在的目录
选项--list 列出当前工具所支持的所有模板类型以及每个模板类型所具有的意义

以上所列的所有的选项都不是必要选项(如果描述/版本/名字三个信息没有提供的话,工具会以交互式的方式询问您这三项信息)。

当前版本所支持的模板类型:

abel@abel-pc /tmp> light create --list

当前工具版本:1.4.8-20180104
当前支持的模板类型与说明:
api...........................服务端开发工程
app...........................整包上传app开发工程
jsn...........................jsnative技术开发app工程
light.........................light1.x版本应用开发工程
vue...........................light2.x版本应用开发工程

生成指令-gen

脚手架工程仅仅是具有简单的骨架,并不能够正常的编译集成,还需要补充一些”实在”的东西才能够正常被我们使用和访问。这个补充的手段可以通过light gen指令来完成。

abel@abel-pc ~> light gen -h

  Usage: gen [option]

  初始化工程的视图js和组件的js的模版结构,必须保证page的html中配置了view或者component标签,否则无法生效


  Options:

    -o --override [override]  代码生成的策略,默认当文件存在的时候不覆盖,当配置此参数后覆盖原代码
    -h, --help                output usage information

编译指令-release

编译调试是开发过程中最反复的阶段,通过lighting构建工具可以大大缩减此阶段的耗时,提供整个项目的开发效率,这就是通过light release指令达到的效果;

abel@abel-pc ~> light release -h

         Usage: release -cuegw

         工程编译,构建,打包,集成


         Options:

           -u --uglify                   是否压缩(优化),压缩混淆js和css的内容
           --product                     生产环境的组合优化选项,包含压缩合并以及增加后缀策略
           -c --concat                   是否合并(优化),将资源引用合并为一份,减少http请求数
           -w --watch [watch]            watch功能,检测变化自动打包
           -p --pack [pack]              输出zip包
           -s --suffix                   是否添加反缓存后缀
           -b --browser [browser]        直接打开浏览器,同时打开server
           -e --enable-plugins [e]       是否启用自定义插件
           --stay-still                  是否保持原有状态,如:不打开浏览器
           --env <env>                   指定当前运行的环境变量,读取project.json中的配置
           --package-name <packageName>  指定打包后文件的包名
           --upload                      是否将发布包提交到平台
           --reset                       是否重置环境,将清除目标的编译目录
           --native                      是否编译出native运行环境下的jsnative脚本
           --console                     是否展示vConsole,方便开发者调试
           -h, --help                    output usage information

需要注意的一点是这些命令选项是可以组合使用的,比如您想既合并又压缩同时添加后缀策略可以使用light release -ucs,开启-b选项同时配合-w选项(即-wb),就可以做到边修改代码,然后浏览器自动刷新看到效果。

  • light release -w -b.......................开发过程中监视文件变更并打开浏览器
  • light release -u -c -s -p.................开发完成后打包输出生成配置包
  • light release --product --upload..........以生成模式打包并且发布到平台

编译指令-server

server指令使用内建的http服务,方便开发者随时随地开启http服务。

abel@abel-pc /tmp> light server -h

  Usage: server [command]

  内置的静态资源的web服务器


  Options:

    -p --port <port>  指定web启动的端口,默认为3000
    -r --root [root]  point the root
    -h, --help        output usage information

编译指令-login

login指令可以登录到平台,获得平台用户的操作权限。

abel@abel-pc /tmp> light login -h

  Usage: login [-u] [-p]

  登录账户链接light平台的账户系统以进行应用管理


  Options:

    -u --user-name <userName>  light平台用户名
    -p --password <password>   light平台用户密码
    -h, --help                 output usage information

编译指令-plugin

plugin指令可以进行插件的安转更新等操作。

abel@abel-pc /tmp> light plugin -h

  Usage: plugin [command]

  Lighting相关插件的搜索/更新/安装/移除


  Options:

    -a --add <name>      安装插件
    -r --remove <name>   卸载插件
    --fix                初始化插件安装环境
    -l --list            查看当前安装的插件列表和安装版本
    -u --upgrade [name]  更新当前安装的插件,如不带参数则升级所有插件
    -h, --help           output usage information

扩展编译流程

Lighting开发框架为开发者提供了编译扩展的能力,可以配置webpack编译的配置文件,具体的demo可以参考light官方提供的demo地址;

具体的使用方法为:

  1. 在当前的工程创建build.js文件
  2. 在build.js文件中暴露build方法
  3. Lighting的编译工具会主动调用此方法,并传递三个入参:config(配置对象,代表webpack的配置文件)、merge方法(方便开发者扩展config对象)、webpack(webpack的实例对象);利用这三个变量开发者可以方便的进行配置文件的定义和扩展。

更新记录

Current Tags

  • 1.6.0-beta1                                ...           latest (a year ago)

14 Versions

  • 1.6.0-beta1                                ...           a year ago
  • 1.4.6-20170922                                ...           2 years ago
  • 1.4.6-20170921                                ...           2 years ago
  • 1.4.5-20170912-1                                ...           2 years ago
  • 1.4.1-20170630                                ...           2 years ago
  • 1.3.4-20170616-1                                ...           2 years ago
  • 1.3.4-20170620                                ...           2 years ago
  • 1.3.1-20170430-2                                ...           2 years ago
  • 1.3.1-20170430-1                                ...           2 years ago
  • 1.3.1-20170430                                ...           2 years ago
  • 1.2.6-201700414                                ...           2 years ago
  • 1.2.3-20161009                                ...           3 years ago
  • 1.2.0-20160919                                ...           3 years ago
  • 1.1.0-20160809                                ...           3 years ago
Maintainers (1)
Downloads
Today 0
This Week 0
This Month 2
Last Day 0
Last Week 0
Last Month 15
Dependencies (16)
Dev Dependencies (0)
None
Dependents (0)
None

Copyright 2014 - 2016 © taobao.org |