-
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