-
Notifications
You must be signed in to change notification settings - Fork 0
Miha-ha/Mix
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
MIX - бибилиотека облегчающая написание модульных приложений на JavaScript
Возможности:
+ динамическая загрузка зависимых модулей
+ классическое ООП от Jhon Resig
+ динамическая загрузка наследуемых классов
Наименование модулей(модули именуются маленькими буквами):
1. modulename - загрузка файла "modulename.js" из текущего каталога. Namespace = window
2. super.module.name - загрузка файла "name.js" из каталога "super/module/". Namespace = Super.Global
Наименование классов(классы именуются с большой буквы):
1. ClassName - загрузка файла "classname.js" из текущего каталога. Namespace = window
2. Super.Class.Name - Загрузка файла "name.js" из каталога "super/class/". Namespace = Super.Class
Пример определения и использования класса Point:
//определение класса. Файл Mathematics/Geometry/Point.js
Mix.define('Mathematics.Geometry.Point', {
init:function (x, y) {
this.x = x;
this.y = y;
},
getDistance:function (point, squared) {
var x = point.x - this.x,
y = point.y - this.y,
g = x * x + y * y;
return squared ? g : Math.sqrt(g);
},
toString:function () {
return "{ x:" + this.x + ", y:" + this.y + " }";
}
});
//Использование класса. Файл index.html
<!DOCTYPE html>
<html>
<head>
<title>Mix geometry example</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<script data-main src="../../mod.js"></script>
</body>
</html>
Аттрибут data-main определяет стартовый модуль/класс.
Примеры:
data-main - загрузит main.js
data-main="main" - загрузит main.js
data-main="index" - загрузит index.js
data-main="app.main" - загрузит app/main.js
Path в настройках сожержит именнованные пути для альтернативной загрузки модулей/классов.
При подключении достаточно указать имя пути отделив его от имений класса/модуля двоеточием.
Пример:
Mix.config({
path: {
common: '../../common/'
}
}).module({
name: 'main',
requires: ['common:EventManager', 'Ping', 'Pong'],
body: function (){
var eventManager = new EventManager(),
ping = new Ping(eventManager),
pong = new Pong(eventManager);
ping.send();
}
});
url для загрузки класса EventManager будет такой: ../../common/EventManager.js
About
No description, website, or topics provided.
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published