1.0.9 • Published 2 years ago

@xatali/primateutil v1.0.9

Weekly downloads
-
License
ISC
Repository
-
Last release
2 years ago

PrimateUtil

介绍

Primate的工具包,用于vue项目build时的模型文件打包,自动发布至服务器等功能。

安装教程

  1. npm install @xatali/primateutil --save-dev

使用说明

压缩文件的使用方式(参考compress.js)。

  • 详细说明:

    调用此方法将返回压缩需要压缩的文件夹下的模型文件。并生成一个js文件,里面记录了压缩文件的名称,及场景加载的一些配置信息。

    此方法在开启前端缓存时比较有效,可以每次监测模型文件是否更新。如果更新,将会版本增加,文件名更改,前端缓存也将失效,将会加载新的模型文件。

  • 参数说明:

    • distPath:

      需要压缩的文件所处的路径,需要为一个绝对路径

    • opts :

      压缩过程中的一些配置,为一个对象。

      • expireTime :过期时间,0则为永不过期,单位为毫秒

      • isComPress:是否压缩,默认为true、

      • useCache:是否使用缓存。默认为true,

      • useWorker:是否使用线程,默认为true。

      • textureLoadAsync:图片是否异步加载,默认为false。

      • outSettingFileName:'ModelSetting.js';

      • isRemoveOld:是否删除原始文件。默认为true。

      • token:文件加密的字符串。必须为16位。

  • 返回值说明:

    将返回一个Promise对象。


ssh2客户端使用说明(参考compress.js)。

功能说明:

目前已实现的功能: 连接到远程linux服务器,并执行命令,上传下载文件及文件夹,远程删除创建文件夹,判断远程一个路径是否为文件或者文件夹等。

方法:
  • connect连接服务器

    • 说明:

      连接远程服务器。

    • 参数说明:

      • serverOption

        {
          host: '***.***.***.***',
          port: 22,
          username: 'user_name',
          password: 'pass_word',
        }

        为一个对象,描述了服务器的地址及密码等。

    • connectSecret 1.0.3版本新增

      • 说明:

        使用密文连接远程服务器。

      • 参数说明:

        • serverOption

          serverOption.host 服务器的主机地址。

          serverOption.port 服务器的端口号。

          serverOption.secret 调用secretServerOption时假面连接密码时的秘钥。

          serverOption.tokenPath:调用secretServerOption生成的token的地址。

          serverOption.privateKeyPath:调用secretServerOption生成的私钥的地址。

      • 返回值: Promise

    • secretServerOption 1.0.3版本新增

      • 说明:

        加密连接的配置。生成秘钥

      • 参数说明:

        • serverOption

          serverOption.host 服务器的主机地址。

          serverOption.port 服务器的端口号。

          serverOption.username 服务器用户名。

          serverOption.password 服务器密码。

          serverOption.secret 秘钥,一般字符串。

          serverOption.privateKeyOutPutPath:生成的私钥的地址。

          serverOption.tokenOutPutPath:生成的token的地址。

      • 返回值: Promise

  • shell 执行shell

    • 说明:

      连接远程服务器。

    • 参数说明:

      • cmd

        在linux上执行的命令

  • putFile 上传文件

    • 参数说明:

      • localPath

        本地的文件路径。

      • remotePath

        服务器的文件路径。

      • opts

        文件的设置,默认为null即可。

      • autoEndSFTP

        是否自动关闭SFTP,如果后续还有文件操作可不关闭,节省资源。

  • putDir 上传文件夹

    • 参数说明:

      • localDir

        本地的文件夹路径。

      • remoteDir

        服务器的文件夹路径。

      • autoEndSFTP

        是否自动关闭SFTP,如果后续还有文件操作可不关闭,节省资源。

  • creatDir 创建文件夹

    • 参数说明:

      • path

      服务器上要创建的文件夹路径。必须保证其父目录存在,不然会抛出错误。

  • createDirs 递归创建文件夹 1.0.3版本新增

    • 参数说明:
      • path
      服务器上要创建的文件夹路径。不必保证其父级目录存在单必须,必须使用绝对路径。
  • removeDir 递归删除文件夹

    • 参数说明:

      • path

      服务器上要删除的文件夹路径。使用的shell为 rm -rf

  • downFile 下载文件

    • 参数说明:

      • localPath

        本地文件的存储路径+名称

      • remotePath

        服务器存储的文件+名称

      • autoEndSFTP

        是否自动关闭SFTP,如果后续还有文件操作可不关闭,节省资源。

  • downDir 下载文件夹

    下载远程文件,将会首先删除本地要下载到的文件夹

    • 参数说明:

      • localPath

        本地要存储的文件夹路径

      • remotePath

        服务器的文件夹路径

      • autoEndSFTP

        是否自动关闭SFTP,如果后续还有文件操作可不关闭,节省资源。

  • openSFTP 获取一个SFTP连接

    基于ssh2模块,此方法将打开一个sftp连接。

  • close 关闭连接

    不使用此连接时,关闭资源。

  • exists 文件是否存在 1.0.2版本新增
    • 参数说明:
      • path

      检测文件是否存在

日志工具类(参考log.js)。

版本记录

  1. 2021-10-26 发布1.0.0版本。

    版本增加了模型文件压缩及SSH客户端工具类。

  2. 2021-10.28 发布1.0.2版本

    修复了多次打开通道的未知错误问题。

  3. 2021-11.01 发布1.0.4版本

    抛出日志工具类,并将构建方式修改为rollup。

  4. 2021-11.8 发布1.0.5版本

    修正其依赖的包。如 mkdirp,del等模块。

  5. 2021-11.11 发布 1.0.6版本

    抛出Utils工具类,包含以下功能:

    • 文件夹的递归复制

    • 递归删除文件夹。

    • 递归创建文件夹。

    • 对模型文件进行pri压缩。

    • 获取模型的类型

    • 获取文件的后缀

    • 获取文件的名称,不带后缀

    • 判断文件是否为模型文件

  6. 2021-11.11 发布 1.0.7版本

    增加types约束。

  7. 2021-11.11 发布 1.0.8版本

    增加压缩方法参数,增加设置文件输出路径,增加或者压缩后文件名称方法。

  8. 2021-11.12 发布 1.0.9版本

    增加压缩输出路径参数。


1.0.9

2 years ago

1.0.8

2 years ago

1.0.7

2 years ago

1.0.6

2 years ago

1.0.5

2 years ago

1.0.4

3 years ago

1.0.3

3 years ago

1.0.2

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago