19.12.2013, 09:12
|
|
Быдлокодер;)
|
|
Регистрация: 19.11.2010
Сообщений: 4,338
|
|
Сообщение от cyber
|
Я тут grunt ковыряю, не могу понять про подключение модуля, путь к чему прописывать нужно?
grunt.loadNpmTasks('grunt-contrib-compress');
Везде путь прописан как выше, что не так?
Устанавливал так
И не совсем пойму для нужен --save-dev (перевести могу)
|
--save-dev означает подятигивать npm также зависимости из devDependecies.
Путь нужно прописывать к node пакету-таска, т.е. как правило нужно написать, только имя таска и поиск будет искаться по node_modules.
Создай package.json и опиши там нужные зависисимости, вроде:
{
"name": "myproject",
"dependencies": {
"grunt-cli": ">=0.1",
"grunt": ">=0.4",
"grunt-csso": ">=0.5"
}
}
после в этой папке, где создал файл, сделай npm i, затем создай Gruntfile.js и всё
PS: http://habrahabr.ru/post/133363/
Последний раз редактировалось kobezzza, 19.12.2013 в 09:24.
|
|
19.12.2013, 12:33
|
Профессор
|
|
Регистрация: 19.12.2013
Сообщений: 180
|
|
Вот короче готовое ядро, оцените код? Лучше стало?
var ui = window['ui'] = {
name : 'ui',
children : {},
filters : {},
services : {},
directives : {},
animations : {},
controllers: {},
init: function(element) {
var $compile = this.service('$compile');
var $scope = this.service('$scope');
$compile(element)($scope);
},
module: function(name) {
var children = this.children;
var module = children[name];
if (!module) {
module = Object.create(this);
module.name = name;
module.children = {};
module.filters = Object.create(this.filters);
module.services = Object.create(this.services);
module.animations = Object.create(this.animations);
module.directives = Object.create(this.directives);
module.controllers = Object.create(this.controllers);
children[name] = module;
}
return module;
},
directive: function(name, factory) {
if (factory) {
return this.resource('directives', name, factory);
}
var directives = this['directives'];
var resource = directives[name];
if (!resource) {
return null;
}
var instance = resource.instance;
if (!instance) {
factory = resource.factory;
instance = this.invoke(factory);
if (isFunction(instance)) {
instance = {
link: instance
};
}
if (!instance.name) {
instance.name = name;
}
if (!instance.priority) {
instance.priority = 0;
}
if (!instance.restrict) {
instance.restrict = 'A';
}
resource.instance = instance;
}
return instance;
},
service: function(name, factory) {
return this.resource('services', name, factory);
},
filter: function(name, factory) {
return this.resource('filters', name, factory);
},
animation: function(name, factory) {
return this.resource('animations', name, factory);
},
controller: function(name, controller) {
var controllers = this.controllers;
var $parseController = this.service('$parseController');
if (controller) {
controllers[name] = $parseController(controller);
return this;
}
controller = controllers[name];
if (!controller) {
controller = $parseController(window[name]);
}
return controller;
},
invoke: function(func, context, locals) {
if (!locals) {
locals = {}
}
if (isArray(func)) {
var inject = func.slice();
func = inject.pop();
func['$inject'] = inject;
}
if (!func['$inject']) {
var params = func.toString().match(/\(([\s\S]*?)\)/)[1].match(/[\w$]+/img);
func['$inject'] = params || [];
}
locals['$module'] = this;
var services = func['$inject'].map(function(injectName) {
return locals[injectName] || this.service(injectName);
}.bind(this));
return func.apply(context, services);
},
instantiate: function(func, locals) {
var instance = Object.create(func.prototype);
var returns = this.invoke(func, instance, locals);
if (isObject(returns)) {
instance = returns;
}
return instance;
},
resource: function(type, name, factory) {
if (factory) {
var resource = {
factory : factory,
instance: null
};
this[type][name] = resource;
return this;
}
resource = this[type][name];
if (!resource) {
return null;
}
var instance = resource.instance;
if (!instance) {
factory = resource.factory;
instance = this.invoke(factory);
resource.instance = instance;
}
return instance;
}
};
|
|
19.12.2013, 13:20
|
|
junior
|
|
Регистрация: 29.11.2011
Сообщений: 3,924
|
|
<iframe width="420" height="315" src="//www.youtube.com/embed/l9wOxpiwu7Q" frameborder="0" allowfullscreen></iframe>
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
|
|
19.12.2013, 14:42
|
Профессор
|
|
Регистрация: 19.12.2013
Сообщений: 180
|
|
nerv_, ну чо с кодом то? норм стайл?
|
|
19.12.2013, 15:44
|
|
Профессор
|
|
Регистрация: 05.06.2009
Сообщений: 1,703
|
|
__________________
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
Самые главные в жизни вещи - не вещи! (было написано на одном гараже =)
|
|
19.12.2013, 18:31
|
|
I am Student
|
|
Регистрация: 17.12.2011
Сообщений: 4,415
|
|
kobezzza, спс работает.
Сообщение от kobezzza
|
--save-dev означает подятигивать npm также зависимости из devDependecies
|
Спс, я чет с тупил, я думал что это какой то список npm, а потом вспомнил что это в package.json проекта
__________________
Цитата:
|
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
|
|
|
19.12.2013, 18:48
|
|
junior
|
|
Регистрация: 29.11.2011
Сообщений: 3,924
|
|
Сообщение от Maxmaxmaximus6
|
ну чо с кодом то? норм стайл?
|
Tim ответил:
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
|
|
19.12.2013, 19:29
|
|
I am Student
|
|
Регистрация: 17.12.2011
Сообщений: 4,415
|
|
kobezzza, еще вопрос,
//Эти задания будут выполнятся сразу же когда вы в консоли напечатание grunt, и нажмете Enter
grunt.registerTask('default', ['jshint', 'concat']);
т.е пока я не запущу грант из консоли нечего собиреться (просто в консоли винды не видит grunt)?
Я просто не могу понять, я не правильно настройки передал или просто проект не собирается.
__________________
Цитата:
|
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
|
|
|
19.12.2013, 20:13
|
|
Быдлокодер;)
|
|
Регистрация: 19.11.2010
Сообщений: 4,338
|
|
Сообщение от cyber
|
kobezzza, еще вопрос,
//Эти задания будут выполнятся сразу же когда вы в консоли напечатание grunt, и нажмете Enter
grunt.registerTask('default', ['jshint', 'concat']);
т.е пока я не запущу грант из консоли нечего собиреться (просто в консоли винды не видит grunt)?
Я просто не могу понять, я не правильно настройки передал или просто проект не собирается.
|
Можно запускать из ноды, можно из консоли. В винде всё работает (у меня винда), мб ты просто забыл глобально поставить Grunt?
npm i -g grunt
ЗЫ: кстати, я в винде в качестве консольки юзаю git bash ( http://git-scm.com/)
Последний раз редактировалось kobezzza, 19.12.2013 в 20:19.
|
|
19.12.2013, 20:32
|
|
I am Student
|
|
Регистрация: 17.12.2011
Сообщений: 4,415
|
|
Сообщение от kobezzza
|
мб ты просто забыл глобально поставить Grunt
|
Нет, и про то что на этом куске операционки винде нужно добавлять в PATH знаю, только батник гранта выдает ошибку. файл grunt.cmd находиться в C:\Users\CyBer\AppData\Roaming\npm\ . Ошибка
Цитата:
|
Если вы видите это сообщение, либо Gruntfile не найдет или grunt не был установлен локально в ваш проект. Большее информации на сайте гранта.
|
Сообщение от kobezzza
|
ЗЫ: кстати, я в винде в качестве консольки юзаю git bash (http://git-scm.com/)
|
Спасибо, щас посмотрю , то виндовая консоль вызывает желание убивать.
__________________
Цитата:
|
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
|
Последний раз редактировалось cyber, 19.12.2013 в 20:36.
|
|
|
|