sfr-cli

1.1.2 • Public • Published

sfr-cli

简介

主要用于superframe的service接入开发调试。提供脚手架,dev环境,准入规范检测等功能。方便各产品线只要在准备好接口的前提下就能够顺利接入superframe。

用法

安装

npm install -g sfr-cli

检验是否安装成功:

sf -h

可以cd到产品线代码所在目录,或者任何目录(此目录将永远为sfr-cli的一个项目的根目录)

cd /project/root/path

或者:

cd /some/path

mkdir sfr-dev

cd sfr-dev

初始化环境:

sf init

这个时候项目的根目录会出现一个superframe.config.js文件,这个文件为sfr-cli的全局配置文件。 可以对这个文件进行自定义配置,从而达到调试的目的。

配置superframe.config.js

/**
 * @file superframe cli config
 * @author @superframe
 */
 
module.exports = {
    proxy: {
 
        // 代理到的环境host, 默认为m.baidu.com
        host: 'm.baidu.com',
 
        // 代理环境port, 默认为80
        port: 80
    },
 
    server: {
 
        // 启动服务器的端口
        port: 8867,
 
        // 是否允许跨域, 默认为true
        crossDomain: false
    },
 
    registers: [
        {
            id: 'xxx',
            path: /^\/sf_xxx\//,
            service: './services/xxxService.js' // 相对于superframe.config.js的文件目录
        }
        // ,
        // {
        //     可以注册多个...
        // }
    ],
 
    // 自定义基于注册了的path的mock入口
    paths: [
        {
            // path的名称,要求格式`/sf_产品线标示名称`
            path: '/sf_xxx/xxx',
 
            alias: '别名', // 方便管理调试
 
            // 异步接口和同步接口请求的参数, 也可以直接在async, sync中的url中定义
            querys: {
                q: 'xxxx',
 
                // 配置头部样式
                top: JSON.stringify({sfhs: 2})
            },
 
            // 同步接口,要求path与mock的path去掉/sf_xxx相同, 如/sf_xxx/xxx则对应同步path为 http://localhost:8848/xxx
            sync: 'http://localhost:8848/xxx',
 
            // 异步接口
            async: 'http://localhost:8848/sf/async',
 
            // 配置项,对应到data-sf-options属性,配置头部的样式等。
            options: {
                view: {
 
                    // 外层dom的classname
                    customClassName: 'sf-xxx-xxx',
 
                    // 这里直接注入头部dom就行,样式在sf style里写
                    headTitle: ''
                        + '<div class="sf-xxx-xxx-header">'
                        +     '<p class="header-title">'
                        +         '<span class="logo"></span>'
                        +     '</p>'
                        +     '<div class="share-wrap"></div>'
                        + '</div>',
                    headTool: '',
                    headClose: false,
                    useAnimate: true,
                    _hold: 1
                }
            }
        }
 
        // 可以mock多个入口path
        // ,
        // {
        //     ...
        // }
    ]
};
 

配置完成后,可以启动调试了,执行以下命令

sf preview

如果没有意外的话,将会看到

SF INFO Sf WebServer start, http://172.18.25.124:8867
SF INFO root = [/some/path/xxx/xxx], listen = [8867]

如果报一下错误,则是因为server端口被占用

图片

可以执行以下命令变更port

sf preview --port=8099

如果一切ok, 就可以直接访问命令行中的ip + port就行了,如http://172.18.25.124:8867

这个时候就能看到百度首页了,在里面随意输入某个query,就能进入到开发结果页。

图片

点击/sf_xxx , 如果异步url接口和同步url接口配置正确的话,将会调起superframe。

注意事项

  • 新升级之后的sfr-cli 1.1.0版本后不支持sf2.0开发
  • sfr-cli 1.1.0版本后, 支持开发sf2.5, 需要自行开发产品线接入service, 开发教程:教程

TODO

主要开发调试功能ok, 部分功能还在完善中。。

Readme

Keywords

Package Sidebar

Install

npm i sfr-cli

Weekly Downloads

13

Version

1.1.2

License

none

Last publish

Collaborators

  • superframe