Config context myMojit - 1950195/simple-mojito GitHub Wiki

编辑文件: application.json

[
    {
        "settings": [ "master" ],
        "specs": {
            "my": {
                "type": "myMojit"
            }
        }
    },
    {
        "settings": ["environment:development"],
        "appPort": "8000"
    },
    {
        "settings": ["environment:production"],
        "appPort": "80"
    }
]

编辑文件: routes.json

[
    {
        "settings": [ "master" ]
    },
    {
        "settings": ["environment:development"],
        "my": {
            "verbs": ["get"],
            "path": "/my",
            "call": "my.another"
        }
    },
    {
        "settings": ["environment:production"],
        "my": {
            "verbs": ["get"],
            "path": "/my",
            "call": "my.index"
        }
    }
]

development 环境

启动 mojito

$ mojito start --context "environment:development"

打开浏览器,输入网址: http://localhost:8000/my

production 环境

启动 mojito

$ sudo mojito start --context "environment:production"

port:80 需要 root 权限

打开浏览器,输入网址: http://localhost/my

更多关于 context

  • Q: setting 中各个不同的 environment 之间的关系?
    A: node_modules/mojito/lib/dimensions.json 内:
    {
        "environment": {
            "development": {
                "dev": null,
                "test": null
            },
            "production": {
                "stage": null,
                "prod": null
            }
        }
    }
   *    这里是默认的环境配置,以及对应父子关系。
   *    master 则是 development 和 production 共同的父级
   *    可自定义 environment,先在根目录下创建自己的 dimensions.json : http://developer.yahoo.com/cocktails/mojito/docs/topics/mojito_using_contexts.html
   *    在 application.json 中,子级继承并可覆盖父级所配置的属性
   *    在 routes.json 中,子级配置的 path 如果与父级相同,则 **不生效**
⚠️ **GitHub.com Fallback** ⚠️