run(settings)

上一篇:快速入门

下一篇:模拟AJAX

settings 默认参数

fms.run({
    // 端口 http://127.0.0.1:3000/
    port: 3000,
    // 项目根目录配置
    root: process.cwd(),
    // 静态资源路径
    static: './',
    // 读取HTML文件在 / 或 /fms/ 中 显示
    read: [],
    // express 中的 connect,如不熟悉请无视
    connect: function (req, res ,next) {
        next();
    },
    // 访问密码
    password: false,
    // URL替换
    urlRewrite: [

    ],
    // 静态资源替换
    staticReplace: function (req, data) {
        return data.replace(/<!--FMS([\S\s]*?)FMS-->/g,'$1')
    },
    // fms.ajax(settings) 默认配置
    ajax: {
        type: 'get',
        /*
        // 请求参数
        data: {
            id: 1
        }
        */
        res: {
            ok: {
                status: 'success'
            },
            err: {
                status: 'error',
                msg: 'Error detail'
            }
        },
        timeout: 300,
        dataType: 'html'
    },
    view: {
        templateDir: './view/',
        templatePluginDir: './view/plugin/',
        type: 'get',
        data: {
            DEV: true
        },
        server: 'http://127.0.0.1:1234',
        filter: function (req, data) {
            /*
            不允许重写 data :
            data = {}
            */
            // data.PAGE_URL = req.url;
            // data.PAGE_PATH = req.path;
            // data.METHOD = req.method;
            // data.GET = req.query;
            // data.POST = req.body;
        }
    }
})

settings.port

类型 说明 示例
number 端口号 3000
fms.run({
    port: 3000
})

FMS 将监听 3000 端口,可通过 http://127.0.0.1:3000 访问

settings.root

类型 说明 示例
string 项目根目录配置 process.cwd()

若不了解 nodejs 可跳过此参数

process.cwd() 是当前脚本的工作目录, 例如在 C:\demo\ 启动 FMS 则 process.cwd()C:\demo\

所有 FMS 功能都会基于 root 来查找文件

settings.static

类型 说明 示例
string 静态资源路径 ./static

文件目录结构如下

- static/
      index.html
- fms.js

static 值为 './' 时 ,通过 http://127.0.0.1:3000/static/index.html 访问 static/index.html 文件
static 值为 ./static 时,通过 http://127.0.0.1:3000/index.html 访问 static/index.html 文件

settings.read

类型 说明 示例
array 读取HTML文件在 //fms/ 中 显示 ['/static/']

read html

settings.connect

类型 说明
function express 中的 connect,如不熟悉请无视

settings.password

类型 说明 示例
string or boolean 访问密码 123456

设置访问密码后只允许 127.0.0.1:3000 和 localhost:3000 访问,其他地址访问时需要输入密码。

有时我们希望将 fms 部署在服务器上,让后端通过查看 fms 中的在线文档和前端代码运行效果

比如 http://demo.fmsjs.org/ 就是部署在服务商上的 FMS

settings.urlRewrite

类型 说明
array URL替换
urlRewrite: [
    '/url-rewrite.html', '/index.html',
    '/url1.html', '/index.html'
]

如上配置,访问 http://demo.fmsjs.org/url-rewrite.htmlhttp://demo.fmsjs.org/url1.html 都等于访问 http://demo.fmsjs.org/index.html

settings.staticReplace

类型 说明
function 静态资源替换
staticReplace: function (req, data) {
    return data.replace(/<!--FMS([\S\s]*?)FMS-->/g,'$1')
}

在 FMS 中显示的静态资源如果是文本类型都会调用 staticReplace 进行内容替换。(.html .js .css 等文件)

req 为 express 的 request data 为 文件内容字符串

返回值会被替换为文件内容字符串

staticReplace: function (req, data) {
    return 'a'
}

如果你返回 'a' 则所有静态文本资源都会显示成 a

语法参考:深入理解JavaScript-replace

settings.ajax

settings.ajax 是 fms.ajax(settings)settings 的默认配置

settings.ajax.type

类型 说明 示例
string 页面访问方式 "get" "post" "delete" "put"

settings.ajax.res

类型 说明
object AJAX返回值

请参考 模拟AJAX 中关于 res 的使用方法

settings.ajax.timeout

类型 说明 示例
number 延迟返回数据时间 300

settins.ajax.dataType

类型 说明 示例
number HTTP Content-Type html txt json jsonp

如果设置 jsonp 则此 ajax 将返回 jsonp 格式数据

fms.ajax({
    title: "返回JSONP",
    type: 'get',
    url: '/jsonp/',
    dataType: 'jsonp',
    res: {
        ok: {
            name: 'fms'
        }
    }
})

示例

settings.view

fms.view 功能相关配置

请记住下面的示例代码,后续文档会基于此示例说明

fms.view({
    type: 'get',
    url: '/render/',
    title: "PHP直接解析渲染示例",
    template: "render.php",
    data: {
        title: '标题',
        content: '内容xoxoxoxo',
        list: [
            "a", "b", "c"
        ]
    }
})

settings.view.templateDir

类型 说明 示例
string 模板根目录 ./view/

读取 ./view/render.php 文件作为页面渲染模板

settings.view示例代码

settings.view.templatePluginDir

类型 说明 示例
string 模板插件目录 ./view/plugin/

有些模板引擎插件存放在指定目录中,比如 Smarty

settings.view示例代码

settings.view.type

类型 说明 示例
string 页面访问方式 "get" "post" "delete" "put"

fms.view(settings) 中 settings 的默认 type

settings.view示例代码

settings.view.data

类型 说明
object 页面渲染公用数据

有时在后端框架中每个页面渲染数据中都会包含一些公用信息比如用户信息

{
    user: {
        name: "fms",
        type: "free"
    }
}

sttings.view.data 中配置 user 则可以让每个页面渲染数据中都有 user

settings.view示例代码

settings.view.server

类型 说明 示例
string 后端模板渲染服务器 http://127.0.0.1:1234

settings.view示例代码

settings.view.filter

类型 说明
function 根据 filter 扩展渲染数据
function (req, data) {
    // 不允许重写 data :
    // 错误: data = {}
    data.PAGE_PATH = req.path // req.path === location.pathname
    data.GET = req.query
    data.POST = req.body
    data.METHOD = req.method
}

扩展 PAGE_PATH GET POST 后,在模板中可以这样写

GET参数 id 是:<?php echo $GET['id']; ?>

上一篇:快速入门

下一篇:模拟AJAX

评论
想在此留下评论,请访问 {{issues_link}} 提交评论
Top