1.3.15 • Published 6 years ago

qxf v1.3.15

Weekly downloads
6
License
MIT
Repository
-
Last release
6 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

6 years ago

1.3.14

6 years ago

1.3.13

7 years ago

1.3.12

7 years ago

1.3.11

7 years ago

1.3.10

7 years ago

1.3.9

7 years ago

1.3.8

7 years ago

1.3.7

8 years ago

1.3.6

8 years ago

1.3.5

8 years ago

1.3.4

8 years ago

1.3.3

8 years ago

1.3.2

8 years ago

1.3.1

8 years ago

1.3.0

8 years ago

1.2.28

9 years ago

1.2.27

9 years ago

1.2.26

9 years ago

1.2.25

9 years ago

1.2.25-beta.0

9 years ago

1.2.24

9 years ago

1.2.23

9 years ago

1.2.22

9 years ago

1.2.21

9 years ago

1.2.20

9 years ago

1.2.19

9 years ago

1.2.18

9 years ago

1.2.17

10 years ago

1.2.16

10 years ago

1.2.15

10 years ago

1.2.14

10 years ago

1.2.13

10 years ago

1.2.12

10 years ago

1.2.11

10 years ago

1.2.10

10 years ago

1.2.9

10 years ago

1.2.8

10 years ago

1.2.7

10 years ago

1.2.6

10 years ago

1.2.5

10 years ago

1.2.4

10 years ago

1.2.3

10 years ago

1.2.2

10 years ago

1.2.1

10 years ago

1.2.0

10 years ago

1.1.17

10 years ago

1.1.16

10 years ago

1.1.15

10 years ago

1.1.14

10 years ago

1.1.13

10 years ago

1.1.11

10 years ago

1.1.10

10 years ago

1.1.9

10 years ago

1.1.8

10 years ago

1.1.7

10 years ago

1.1.6

10 years ago

1.1.5

10 years ago

1.1.4

10 years ago

1.1.3

10 years ago

1.1.2

10 years ago

1.1.1

10 years ago

1.1.0

10 years ago

1.0.59

10 years ago

1.0.58

10 years ago

1.0.57

10 years ago

1.0.56

10 years ago

1.0.55

10 years ago

1.0.54

10 years ago

1.0.53

10 years ago

1.0.52

10 years ago

1.0.51

10 years ago

1.0.50

10 years ago

1.0.49

10 years ago

1.0.48

10 years ago

1.0.47

10 years ago

1.0.46

10 years ago

1.0.45

10 years ago

1.0.44

10 years ago

1.0.43

10 years ago

1.0.42

10 years ago

1.0.41

10 years ago

1.0.40

10 years ago

1.0.39

10 years ago

1.0.38

10 years ago

1.0.37

10 years ago

1.0.36

10 years ago

1.0.35

10 years ago

1.0.34

10 years ago

1.0.33

10 years ago

1.0.32

10 years ago

1.0.31

10 years ago

1.0.30

10 years ago

1.0.29

10 years ago

1.0.28

10 years ago

1.0.27

10 years ago

1.0.26

10 years ago

1.0.25

10 years ago

1.0.24

10 years ago

1.0.23

10 years ago

1.0.22

10 years ago

1.0.21

10 years ago

1.0.20

10 years ago

1.0.19

10 years ago

1.0.18

10 years ago

1.0.17

10 years ago

1.0.16

10 years ago

1.0.15

10 years ago

1.0.14

10 years ago

1.0.13

10 years ago

1.0.12

10 years ago

1.0.11

10 years ago

1.0.10

10 years ago

1.0.1

10 years ago

1.0.0

10 years ago