Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 17.05.2016, 01:57
Аватар для khusamov
Соединяю Node.js и Ext JS
Отправить личное сообщение для khusamov Посмотреть профиль Найти все сообщения от khusamov
 
Регистрация: 25.06.2009
Сообщений: 1,033

Префик URL моделей и сами URL моделей
Хотелось бы услышать мнение о моем способе задания префикса и вычисления URL моделей:

При режиме development префикс URL равен http://localhost:3000
То есть сервер на другом домене.

Чтобы при сборке приложения этот префикс пропал, его пришлось обернуть в //<debug>. Как сделать правильно пока не знаю. Нет тегов типа <development>.

Встроенный способ определения URL моделей не позволяет делать сложные манипуляции с адресами. Пришлось наворотить свой способ.

Все это я запихнул в класс Element.model.Base, который является базовым для всех моделей.

Ext.define("Element.model.Base", {
	
	extend: "Ext.data.Model",
	
	requires: ["Ext.data.proxy.Rest"],
	
	fields: [{
		name: "id",
		type: "auto"
	}],
	
	schema: {
		namespace: "Element.model",
		//<debug>
		urlPrefix: "http://localhost:3000",
		//</debug>
		
		proxy: new Ext.util.ObjectTemplate({
			type: "rest", 
			url: "{prefix}/{[this.getEntityUrl(values.entityName)]}",
			reader: {
				type: "json",
				rootProperty: "data"
			}
		}, {
			templateOptions: {
				getEntityUrl: function(entityName) {
					var urls = {
						Command: "",
						WorkstationType: "",
						ConfigFileItem: "configfile",
						Workstation: "workstations",
						Trolley: "trolleys",
						Printer: "printers",
						GroupOrder: "group-orders",
						Employee: "employee",
						CuttingItem: "cutting-items"
					};
					if (!(entityName in urls)) throw Error("Модель " + entityName + " не найдена в массиве URL's.");
					return urls[entityName];
				}
			}
		})
		
	}
	
});
__________________
Хусамов Сухроб, Москва, khusamov@yandex.ru
Мой JS-стек: Sencha ExtJS 6, Node.js, TypeScript.
Ответить с цитированием
  #2 (permalink)  
Старый 18.05.2016, 23:10
Интересующийся
Отправить личное сообщение для Raydezm Посмотреть профиль Найти все сообщения от Raydezm
 
Регистрация: 01.12.2013
Сообщений: 26

Используете sencha watch и хотите получать данные с локального сервера? Если какой-то подобный кейс, то можно настроить nginx, который будет роутить на один или другой url в зависимости от пути.
Ответить с цитированием
  #3 (permalink)  
Старый 19.05.2016, 13:45
Аватар для khusamov
Соединяю Node.js и Ext JS
Отправить личное сообщение для khusamov Посмотреть профиль Найти все сообщения от khusamov
 
Регистрация: 25.06.2009
Сообщений: 1,033

Сообщение от Raydezm Посмотреть сообщение
Используете sencha watch и хотите получать данные с локального сервера? Если какой-то подобный кейс, то можно настроить nginx, который будет роутить на один или другой url в зависимости от пути.
В принципе это идея. Я так понимаю nginx будет принимать сигнал, а потом решать куда его направить на sencha watch или в мой сервер.

Но все-таки мое решение более проще в реализации. Я его описал в другой ветке Как подключить вместо симуляции реальный сервер? А тут хотел бы узнать ответ на все-таки другой вопрос.
__________________
Хусамов Сухроб, Москва, khusamov@yandex.ru
Мой JS-стек: Sencha ExtJS 6, Node.js, TypeScript.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Водяной знак на fancybox bobrina Общие вопросы Javascript 1 03.06.2011 21:11