1.3.15 • Published 5 years ago

qxf v1.3.15

Weekly downloads
6
License
MIT
Repository
-
Last release
5 years ago

qunar node 开发解决方案

让你只专注在业务和展现

项目地址:http://gitlab.corp.qunar.com/fed/qxf

本地安装

npm install qxf -g --registry=http://npmrepo.corp.qunar.com

其他包依赖公司内部的npm源,你需要先安装qnpm,安装方式

通过alias命令

alias qnpm="npm --registry=http://npmrepo.corp.qunar.com --cache=$HOME/.npm/.cache/qnpm --userconfig=$HOME/.qnpmrc"

或者在~/.bash_profile~/.zshrc中增加如下配置:

# alias for qnpm
alias qnpm="npm --registry=http://npmrepo.corp.qunar.com --cache=$HOME/.npm/.cache/qnpm --userconfig=$HOME/.qnpmrc"

然后运行:

source ~/.bash_profile # base环境
source ~/.zshrc # zsh环境

命令支持

Qxf 使用说明
===========================
qxf init 初始化一个项目
qxf dev 启动项目本地服务
qxf initserver [-w <webappFoler> -s <serviceName>] 服务器目录和服务初始化
qxf initschema qdr发布系统schema初始化
qxf remote -r <serverlist> -c <remoteCommand> 远程执行命令
qxf sync [server] 同步文件到服务器

如何创建一个qxf工程

1. 在项目目录里执行 `qxf init`
2. 运行 `qnpm install`
3. 运行 `bin/dev`

服务器安装

  1. 新申请的服务器,在申请服务器时可以选择预装QXF,这样就不用到服务器上做任何安装了
  2. 如果是原来的服务器或者申请的时候忘了选择预装,需要执行一下步骤安装:

    1. ssh 登录服务器
    2. 运行 sudo yum install nodejs
    3. 运行 sudo npm install qxf -g --registry=http://npmrepo.corp.qunar.com

*执行第2步,如果原来的服务器上已经安装过 node的其他版本,需要先将之前的版本卸载,如果是采用sudo yum install q-node 安装的,卸载方法为运行 sudo yum remove q-node -y

服务器web环境配置

配置web环境有如下三种方式(推荐使用第3种方式配置):

  1. ssh 登录服务器,执行 sudo qxf initserver按照提示输入所需参数,或者执行 sudo qxf initserver -w <web目录名称> -s <service名称>

  2. 在本地可以ssh登录到服务器的终端执行

    qxf remote -r '<服务器列表>' -c 'sudo qxf initserver -w <webappFolder> -s <serverName>'
  3. 按照说明配置工程里的package.json中的schema内容,在本地可以ssh登录到服务器的终端执行

    qxf initserver --config

服务器列表支持格式:

l-home[m-n].fe.cn5
l-home[x,y,z].fe.cn5
l-home[m-n].fe.cn5,l-home[x,y,z].fe.cn5,...

包含模块

qzz版本号 @qnpm/q-version


使用

var qversion = require('@qnpm/q-version');
// 初始化版本号
qversion.parse(path.join(__dirname, 'refs')); // 参数为ver目录所在路径

模板 @qnpm/q-template


使用

var qtemplate = require('@qnpm/q-template');

// 设置模板引擎
qtemplate(app, {
  views: __dirname + "/views", // 总模板目录
  layouts: 'layouts', // layout模板目录,默认views/layouts
  versions: qversion.versions()
});

模板使用详尽说明及接口

日志 @qnpm/q-logger

日志组件支持多进程工程,由主进程统一负责记录日志,支持不同的路由记录不同的日志文件,配置如下:

{
    logFiles: [
        {
            type: 'track', // 名称
            route: ['/track.htm', '/timetrack.htm'], // 路由,支持express风格路由
            appenders: [ // log4js appenders配置
                {
                    "type": "file",
                    "filename": "track.log",
                    "category": "track",
                    "level": "LOG",
                    "layout": {
                        "type": "messagePassThrough"
                    }
                }
            ]
        }
    ]
}

使用

初始化

主进程:

logger.init("master", [option]);
// [option]为多日志文件配置,如上

工作进程:

var logger = require('@qnpm/q-logger');
logger.init('worker', [option]); // 初始化日志系统

接口:

logger.error(); // 记录错误
logger.info(); // 记录普通日志

异常 @qnpm/q-exception


使用

var exception = require('@qnpm/q-exception');

exception.init(logger); // 初始化异常捕获系统,需传入logger用作错误记录

// 捕获异步异常,放到所有中间件前面
app.use(exception.catchAsync());

// 捕获同步异常,放到所有中间件后面
app.use(exception.catchSync());

healthcheck @qnpm/q-healthcheck


使用

var healthcheck = require('@qnpm/q-healthcheck');
// healthcheck 发布时有用
healthcheck.check(app, path.join(__dirname, 'healthcheck.html')); // 传入healthcheck的路径

监控 @qnpm/q-monitor


使用

var qmonitor = require('@qnpm/q-monitor');
qmonitor.addCount('监控指标名');
qmonitor.addTime('监控指标名', '时间');

多进程 @qnpm/q-multiprocess


使用

 var opts = {
  // CPU核数
  numCPUs: require('os').cpus().length,
  // 端口
  port: app.get('port'),
  // 子进程收到父进程消息后父进程执行方法
  workerMessage: function (msg, workers) {

  },
  ready: function(workers) {

  }
};

multiprocess.listen(app, opts);
1.3.15

5 years ago

1.3.14

5 years ago

1.3.13

6 years ago

1.3.12

6 years ago

1.3.11

6 years ago

1.3.10

6 years ago

1.3.9

6 years ago

1.3.8

6 years ago

1.3.7

6 years ago

1.3.6

6 years ago

1.3.5

6 years ago

1.3.4

6 years ago

1.3.3

6 years ago

1.3.2

7 years ago

1.3.1

7 years ago

1.3.0

7 years ago

1.2.28

7 years ago

1.2.27

8 years ago

1.2.26

8 years ago

1.2.25

8 years ago

1.2.25-beta.0

8 years ago

1.2.24

8 years ago

1.2.23

8 years ago

1.2.22

8 years ago

1.2.21

8 years ago

1.2.20

8 years ago

1.2.19

8 years ago

1.2.18

8 years ago

1.2.17

8 years ago

1.2.16

8 years ago

1.2.15

8 years ago

1.2.14

8 years ago

1.2.13

8 years ago

1.2.12

8 years ago

1.2.11

8 years ago

1.2.10

8 years ago

1.2.9

8 years ago

1.2.8

8 years ago

1.2.7

8 years ago

1.2.6

8 years ago

1.2.5

9 years ago

1.2.4

9 years ago

1.2.3

9 years ago

1.2.2

9 years ago

1.2.1

9 years ago

1.2.0

9 years ago

1.1.17

9 years ago

1.1.16

9 years ago

1.1.15

9 years ago

1.1.14

9 years ago

1.1.13

9 years ago

1.1.11

9 years ago

1.1.10

9 years ago

1.1.9

9 years ago

1.1.8

9 years ago

1.1.7

9 years ago

1.1.6

9 years ago

1.1.5

9 years ago

1.1.4

9 years ago

1.1.3

9 years ago

1.1.2

9 years ago

1.1.1

9 years ago

1.1.0

9 years ago

1.0.59

9 years ago

1.0.58

9 years ago

1.0.57

9 years ago

1.0.56

9 years ago

1.0.55

9 years ago

1.0.54

9 years ago

1.0.53

9 years ago

1.0.52

9 years ago

1.0.51

9 years ago

1.0.50

9 years ago

1.0.49

9 years ago

1.0.48

9 years ago

1.0.47

9 years ago

1.0.46

9 years ago

1.0.45

9 years ago

1.0.44

9 years ago

1.0.43

9 years ago

1.0.42

9 years ago

1.0.41

9 years ago

1.0.40

9 years ago

1.0.39

9 years ago

1.0.38

9 years ago

1.0.37

9 years ago

1.0.36

9 years ago

1.0.35

9 years ago

1.0.34

9 years ago

1.0.33

9 years ago

1.0.32

9 years ago

1.0.31

9 years ago

1.0.30

9 years ago

1.0.29

9 years ago

1.0.28

9 years ago

1.0.27

9 years ago

1.0.26

9 years ago

1.0.25

9 years ago

1.0.24

9 years ago

1.0.23

9 years ago

1.0.22

9 years ago

1.0.21

9 years ago

1.0.20

9 years ago

1.0.19

9 years ago

1.0.18

9 years ago

1.0.17

9 years ago

1.0.16

9 years ago

1.0.15

9 years ago

1.0.14

9 years ago

1.0.13

9 years ago

1.0.12

9 years ago

1.0.11

9 years ago

1.0.10

9 years ago

1.0.1

9 years ago

1.0.0

9 years ago