如何在环回中共享客户端和服务器之间的模型方法?

时间:2015-08-08 20:04:35

标签: angularjs node.js loopbackjs isomorphic-javascript

我想在客户端和服务器上共享一些业务逻辑。

假设它是一个文件API,我想知道某个项目是否有文件夹类型。

在服务器上它看起来像这样:

Content.prototype.isFolder = function() {
    return this.type === 'folder';
}

目前是否可以轻松地向客户公开这个?

我们也使用loopback-sdk-angular。与此相结合是最终目标。

这样做的最佳方式是什么?

3 个答案:

答案 0 :(得分:0)

您可以使用browserify

您可以创建一个具有isFolder方法的共享库,并在服务器和客户端上的浏览器版本中使用它。

如何轻松地将其与角度整合是另一个问题。

答案 1 :(得分:0)

我建议创建一个新的remote method,以将其公开给REST API:

Model.remoteMethod(
    'isFolder',
    {
        http: { path: '/isFolder', verb: 'get' },
        accepts: [
            {
                arg: 'id',
                type: 'string',
                required: true,
                http: {
                    source: 'query'
                }
            },
        ],
        returns: { arg: 'isFolder', type: 'boolean' }
    }
);

答案 2 :(得分:0)

使用项目根目录下的common目录。见http://docs.strongloop.com/display/public/LB/common+directory