haxe, haxelib, nekotools 三个命令

layout title date categories
post
各种命令及参数(包含库管理)
2014-03-30 14:10:10 -0700
haxe

主要描述 haxe, haxelib, nekotools 三个命令, haxe 命令行会经常在 .hxml 文件中用到

haxedoc

haxedoc 命令已经被弃用,而改用了另一个叫haxelib dox, 但是 生成 xml 还是用的 haxe -xml 命令

haxelib

http://lib.haxe.org/

haxelib 用于管理 haxe库, haxelib run libname 可以调用指定库下边的 run.n 文件, 并将当前命令行路径作为最后一个参数传递.

以 haxelib run 运行的命令, 内部的 Sys.getCwd() 将返回 libname 所在的绝对路径,而不是调用的当前路径, 当前路径为 args 最后一个参数

而以 neko run.n 调用的命令 内部的 Sys.getCwd() 将则指向当前路径.

那么问题是如何区分应用是以 haxelib run %libname% 运行的还是以 neko %APP% 运行的??? 似乎没有办法

  • 当一个 haxelib 有 ndll 目录时, haxelib path libname 会有一个 -L 的定义指向这个 ndll 目录.

  • 命令行下只输入 haxelib 将显示一些帮助信息.

  • 命令行, 注: 很多命令是交互式的, 会提示你如何操作

    Haxe Library Manager 3.2.0-rc.1 - (c)2006-2015 Haxe Foundation
      Usage: haxelib [command] [options]
      Basic
        install   : 在线安装指定库, 或 hxml 文件中的所有库
        upgrade   : 在线更新所以已经安装了的库
        update    : 在线更新指定库
        remove    : 移除指定库(从磁盘上删除 haxelib 根目录中的库,但不会删除外部的 dev 库)
        list      : 列出指定库或名称相匹配的库(如果指定参数)
        set       : 设定库的版本, 用于多个版本库的选择, 注意:如果通过 haxelib dev 指定了开发版本, 那么 dev 版本仍优先于指定的版本号
    
        # https://github.com/HaxeFoundation/hxcpp/issues/143
        # haxe 3.2 new 和 delete 已经更名为 newrepo 以及 deleterepo
        new       : 创建新的本地仓库, 将在当前目前创建一个 .haxelib 的目录, 当位于这个目录上时, haxelib 的所有操作将指向这个新建的目录
        delete    : 删除 new 创建的本地仓库(将从磁盘中), 
    
      Information
        search    : 在线搜询名称相关库, 
        info      : 在线列出指定库的详细信息, 全名匹配, 例: haxelib info lime
        user      : 列出指定用户的信息及这个用户提交的所有 haxe 库. 
        config    : 打印 haxelib 仓库所在目录(绝对路径)
        path      : 得到指定库的所在路径(绝对路径), 库的版本信息, 及 ndll 库目录(如果有的话)
        version   : 当前 haxelib 自身版本
        help      : 显示可选列表
    
      Development
        submit    : 提交或更新自已写的 haxe 库到 haxelib 服务器
        register  : 注册 haxelib 新用户
        local     : 离线方式安装库, 压缩包名字随意. 例: haxelib local xxx.zip
        dev       : 设置指定目录为库, 常用于 fork 别人的库 例: haxelib dev openfl fork_openfl_dir
        git       : 连接下载 git 版本库, 需要 git 命令支持
    
      Miscellaneous
        setup     : 设置 haxelib 仓库路径(默认为 haxe 根目录的 lib)
    
        # 估计就是上边的被移除了的 new 和 delete
        newrepo   : [EXPERIMENTAL] create a new local repository
        deleterepo: delete the local repository
    
        selfupdate: 更新 haxelib 自身
        convertxml: 转换 haxelib.xml 文件为 haxelib.json
        run       : 运行指定类库下的 run.n 文件
        proxy     : 设置 Http 代理.
    
      Available switches
        --flat    : do not use --recursive cloning for git
        --always  : answer all questions with yes
        --debug   : run in debug mode
        --never   : answer all questions with no
        --global  : force global repo if a local one exists 
    
    ============== 一些常用命令 ==============
    
    haxelib info lime #在线查询列出关于 lime 库的信息
    
    haxelib list  # 列出本地所有安装包,用`[]` 中适号包含着的为当前所使用版本
    
    haxelib list li   #列出本地包含 li 字符的库有哪些,其一些其它信息
    
    haxelib install haxepunk #在线安装名为 haxepunk 的库
    
    haxelib local some.zip  #安装已经下载到硬盘上的库,通常用为 zip 格式, zip文件名随意
    
    haxelib update stablexui #在线更新名为 stablexui 的库
    
    haxelib upgrade #连网检测所有本地库是否存在更新,并提示是否更新
    
    #下边命令是指定一个库的开发目录
    #当你修改 某一个库的源码时,可以先复制一份到其它目录
    #然后用 haxelib dev 指定使用这个目录的文件作为开发
    haxelib dev libname directory_name 
    
    haxelib dev haxeui G:\dev-haxeui # 以后调用 haxeui 库时将使用 G:\dev-haxeui 下的文件
    # haxelib list haxeui 可以显示 haxeui 信息,是否使用了 dev 
    haxelib dev haxeui #不带目录名 从dev模式中切换回来
    
    haxelib selfupdate # 更新 haxelib 自已
    
    haxelib remove libname #删除库,这个库将会从磁盘移除
    
    haxelib run libname #运行 libname库目录下 编译为neko平台的 run.n 文件     
  • 开发并上传库 见:haxe.org/com/haxelib

一些库通过 haxelib.json 文件的 dependencies 可能指定了依赖库版本,这使得 dev 版本会被认为是旧的版本,因此对于 git 库可能需要以 haxe git 的方式安装.

hxml

hxml 就是将命令行下输入的 haxe 命令的文件形式, 需要注意的是 有一个特殊的叫 extraParams.hxml 的文件, 这个文件一般在一些 haxelib 中可以见到(和 haxelib.json 位于同级目录), 用于当使用 -lib libname 编译时附加一些编译参数. 如果是基于 openfl 的项目库,那么这个特殊文件将是 include.xml

hxml 的内容为 haxe --help 中的命令. 注释用 # 符号.简单示例:

# 这个符号后接的为注释内容 
--macro Sys.println('Begin...')
-cp src
-lib format
-main Main
-js main.js

nekotools

nekotools 是一个安装 haxe 时附带的工具,nekotools 很简单只有二个命令

  • nekotools server 建立一个 web 服务器,可以用于 http 服务,这样可以不再依赖 apache 或 nigix

    nekotools server 不仅仅能将 html 输出到浏览器,还能处理 neko 文件并输出.

    #做网页相关的东西时,很多功能需要以 http 的形式访问才能正常.
    #不带参数快速绑定当前目录到 localhost:2000
    nekotools server
    
    # 绑定 d:\dev 目录到 0.0.0.0:80
    nekotools server -p 80 -h 0.0.0.0 -d d:\dev
  • nekotools boot 将 neko平台的 .n 文件转换成独立的 exe 文件

    转换成的 exe 文件,需要 neko 环境才能运行(安装了haxe), 如果没有, 可以复制 neko 所需要的 dll 文件和 exe 文件放同一目录就行了.

haxe

Haxe Compiler 3.2.0 - (C)2005-2015 Haxe Foundation
 Usage : haxe.exe -main <class> [-swf|-js|-neko|-php|-cpp|-as3] <output> [options]
 Options :

# 添加源码目录, 通常我们习惯将源码放置于 src 目录下, 所以能经常看到 -cp src
-cp <path>      : add a directory to find source files

# 编译代码为 javascript 平台的 .js 文件
-js <file>      : compile code to JavaScript file

# 编译代码为 flash 平台的 .swf 文件
-swf <file>     : compile code to Flash SWF file

# 解析代码为 flash 平台的 .as3 源码, 指定输出目录 
-as3 <directory>    : generate AS3 code into target directory

# 编译代码为 neko 平台的 .n 文件
-neko <file>        : compile code to Neko Binary

# 编译代码为 php 平台的 .php 文件, 指定输出目录
-php <directory>    : generate PHP code into target directory

# 编译代码为 c++ 平台的 .cpp 文件, 指定输出目录, 
# 第一次编译时可能会花上一段时间, Tips: 可以编译成 neko 平台用于快速测试.
-cpp <directory>    : generate C++ code into target directory

# 编译代码为 c# 平台的 .cs 文件, 指定输出目录, 需要安装 hxcs 库
-cs <directory>     : generate C# code into target directory

# 编译代码为 java 平台的 .java 文件, 指定输出目录, 需要安装 hxjava 库
-java <directory>   : generate Java code into target directory

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值