在客户端javascript代码中重用Node.js中的Web模型

时间:2013-01-31 15:48:24

标签: javascript node.js

在我正在进行的项目中,我有一些Web模型来表示表单提交等。例如,登录表单(一个非常糟糕的例子)如下:

var revalidator = require('revalidator'); // A node.js module for validation

LoginForm = function(email, password) {
    this.Email = email;
    this.Password = password;
};

LoginForm.prototype.validate = function() {
  return revalidator.validate(this, {
    properties: {
        Email: {
          description: 'The email address provided is not valid',
          type: 'string',
          format: 'email',
          required: true
        },
        Password: {
          description: 'The password is not provided',
          type: 'string',
          required: true
        }
      }
  })
};

exports.LoginForm = LoginForm;

这在我当前的node.js设置中效果很好,但我想知道是否有任何方法可以在客户端javascript代码上重用这些模型。任何帮助将非常感激。

1 个答案:

答案 0 :(得分:2)

Javascript是Javascript,您可以共享代码。您必须记住,浏览器和Node之间存在一些差异。如果要共享代码,则不得使用require,并且必须在使用之前检查导出对象是否存在:

if(typeof exports === 'object'){
    exports.LoginForm = LoginForm;
} else {
    // your browser export
}