03.10.2013, 08:54
|
|
Аспирант
|
|
Регистрация: 15.06.2013
Сообщений: 38
|
|
Сообщение от vflash
|
как указать что этот файл зависит от других модулей но при этом не изменяя его ?
|
YUI.add('module-name', function (Y) {
// ... текст модуля ...
}, 'version', {
lang: ['ru'], // для каких языков есть языковые файлы
requires: [
'some-module',... // модули от которых зависит данный модуль.
]
skinnable: true // присутствует CSS
});
Зависимость модулей может быть иерархическая.
Т.е.
например:
* dom
* base
* core
* strings
В модуле dom указываются только base и strings, а в base - core.
|
|
03.10.2013, 09:28
|
|
Профессор
|
|
Регистрация: 09.07.2007
Сообщений: 304
|
|
Сообщение от Madzi
|
YUI.add('module-name', function (Y) {
// ... текст модуля ...
}, 'version', {
lang: ['ru'], // для каких языков есть языковые файлы
requires: [
'some-module',... // модули от которых зависит данный модуль.
]
skinnable: true // присутствует CSS
});
Зависимость модулей может быть иерархическая.
Т.е.
например:
* dom
* base
* core
* strings
В модуле dom указываются только base и strings, а в base - core.
|
это по вашему "не изменяя файл" . как думаете что будет если я такой код function XX() {...}; обверну в модуль ? Правильно мы из глобальной функции XX получим локальную сломав всю логику.
|
|
03.10.2013, 09:29
|
|
Аспирант
|
|
Регистрация: 15.06.2013
Сообщений: 38
|
|
Глобальные функции - зло. Не стоит их использовать в коде.
|
|
03.10.2013, 09:49
|
|
Профессор
|
|
Регистрация: 09.07.2007
Сообщений: 304
|
|
Сообщение от Madzi
|
Глобальные функции - зло. Не стоит их использовать в коде.
|
речь не о хорошо или плохо. вы ведь сами пишите что можно делать из файла модуль не изменяя его, и тут же приводите пример в котором его изменяет.
|
|
03.10.2013, 10:47
|
|
Аспирант
|
|
Регистрация: 15.06.2013
Сообщений: 38
|
|
Сообщение от vflash
|
речь не о хорошо или плохо. вы ведь сами пишите что можно делать из файла модуль не изменяя его, и тут же приводите пример в котором его изменяет.
|
Можно вообще без изменений:
YUI({
groups: {
'old-scripts': {
'old-script': {
base: 'http://...', // Путь к скриптам
async: false,
modules: {
'old-script': {
path: 'old-script.js', // путь к файлу (относительно указанного выше)
requires: ['another-old-script'] // файлы от которых зависит данный
},
'another-old-script': { // также сюда можно включать CSS файлы
...
}
}
}
}
}
}).use('old-script', function (Y) {
//... Песочница, в которой доступен "старый" код
});
|
|
03.10.2013, 14:42
|
|
Профессор
|
|
Регистрация: 09.07.2007
Сообщений: 304
|
|
Сообщение от Madzi
|
Можно вообще без изменений:
|
допустим что умеет. Но как по вашему то что вы привели как пример это нормальный код ?
|
|
03.10.2013, 15:35
|
|
Аспирант
|
|
Регистрация: 15.06.2013
Сообщений: 38
|
|
Сообщение от vflash
|
допустим что умеет. Но как по вашему то что вы привели как пример это нормальный код ?
|
С учётом того, что это прописывается один раз в конфигурационном файле, а потом используется во всех модулях - да.
Но по возможности, конечно, стараюсь избавляться от Legacy кода, так как глобальные переменные/функции - зло, которое неизвестно когда проявит себя.
|
|
03.10.2013, 22:18
|
Профессор
|
|
Регистрация: 20.03.2008
Сообщений: 1,183
|
|
Пробовал я юзать стрикт - пользы от него чуть менее чем никакой, а гемора добавляет. Особенно убивает, что стрикт не просто варнинги кидает, а в корне меняет некоторые аспекты языка, из-за чего один и тот же код по разному работает в разных браузерах. Спасибо, не надо такого счастья.
__________________
.ня
|
|
03.10.2013, 22:27
|
Профессор
|
|
Регистрация: 20.03.2008
Сообщений: 1,183
|
|
__________________
.ня
|
|
03.10.2013, 22:29
|
Профессор
|
|
Регистрация: 20.03.2008
Сообщений: 1,183
|
|
> function(global,module,core,elems,tmpl,__zAgS_)
global и module ещё понятно, но нафига остальные-то навязывать?
__________________
.ня
|
|
|
|