Я играл с Jaxer, и хотя концепция очень крутая, я не могу понять, как определять объекты которые доступны как на клиенте, так и на сервере. Ни один из примеров, которые я не могу найти, вообще определяет объекты.
Я хотел бы иметь возможность определить объект и указать, какие методы будут доступны на сервере, какие будут доступны на клиенте, а какие будут доступны на клиенте, но будут выполняться на сервере (сервер-прокси ). Можно ли это сделать без использования трех отдельных тегов <script
> с разными runat
атрибутами? Я хотел бы иметь возможность определять все мои методы в одном файле js, если это возможно, и нецелесообразно определять мои объекты, встроенные в html, с тремя отдельными тегами ...
В принципе, я бы хотел сделать это в одном файле js:
function Person(name) {
this.name = name || 'default';
}
Person.runat = 'both';
Person.clientStaticMethod = function () {
log('client static method');
}
Person.clientStaticMethod.runat = 'client';
Person.serverStaticMethod = function() {
log('server static method');
}
Person.serverStaticMethod.runat = 'server';
Person.proxyStaticMethod = function() {
log('proxy static method');
}
Person.proxyStaticMethod.runat = 'server-proxy';
Person.prototype.clientMethod = function() {
log('client method');
};
Person.prototype.clientMethod.runat = 'client';
Person.prototype.serverMethod = function() {
log('server method');
};
Person.prototype.serverMethod.runat = 'server';
Person.prototype.proxyMethod = function() {
log('proxy method');
}
Person.prototype.proxyMethod.runat = 'server-proxy';
Кроме того, если я смогу это сделать, как мне правильно включить его в html-страницы?