Javascript-форум (https://javascript.ru/forum/)
-   Оффтопик (https://javascript.ru/forum/offtopic/)
-   -   Смишных картинок тред (https://javascript.ru/forum/offtopic/35821-smishnykh-kartinok-tred.html)

kobezzza 19.12.2013 09:12

Цитата:

Сообщение от cyber (Сообщение 287769)
Я тут 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/

Maxmaxmaximus6 19.12.2013 12:33

Вот короче готовое ядро, оцените код? Лучше стало?

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;
    }

};

nerv_ 19.12.2013 13:20

<iframe width="420" height="315" src="//www.youtube.com/embed/l9wOxpiwu7Q" frameborder="0" allowfullscreen></iframe>

Maxmaxmaximus6 19.12.2013 14:42

nerv_, ну чо с кодом то? норм стайл?

Tim 19.12.2013 15:44

Maxmaxmaximus6,
это ни кому не интересно

cyber 19.12.2013 18:31

kobezzza, спс работает.

Цитата:

Сообщение от kobezzza
--save-dev означает подятигивать npm также зависимости из devDependecies

Спс, я чет с тупил, я думал что это какой то список npm, а потом вспомнил что это в package.json проекта

nerv_ 19.12.2013 18:48

Цитата:

Сообщение от Maxmaxmaximus6
ну чо с кодом то? норм стайл?

Tim ответил:
Цитата:

Сообщение от Tim (Сообщение 287829)


cyber 19.12.2013 19:29

kobezzza, еще вопрос,

//Эти задания будут выполнятся сразу же когда вы в консоли напечатание grunt, и нажмете Enter
  grunt.registerTask('default', ['jshint', 'concat']);

т.е пока я не запущу грант из консоли нечего собиреться (просто в консоли винды не видит grunt)?
Я просто не могу понять, я не правильно настройки передал или просто проект не собирается.

kobezzza 19.12.2013 20:13

Цитата:

Сообщение от cyber (Сообщение 287866)
kobezzza, еще вопрос,

//Эти задания будут выполнятся сразу же когда вы в консоли напечатание grunt, и нажмете Enter
  grunt.registerTask('default', ['jshint', 'concat']);

т.е пока я не запущу грант из консоли нечего собиреться (просто в консоли винды не видит grunt)?
Я просто не могу понять, я не правильно настройки передал или просто проект не собирается.

Можно запускать из ноды, можно из консоли. В винде всё работает (у меня винда), мб ты просто забыл глобально поставить Grunt?
npm i -g grunt


ЗЫ: кстати, я в винде в качестве консольки юзаю git bash (http://git-scm.com/)

cyber 19.12.2013 20:32

Цитата:

Сообщение от kobezzza
мб ты просто забыл глобально поставить Grunt

Нет, и про то что на этом куске операционки винде нужно добавлять в PATH знаю, только батник гранта выдает ошибку. файл grunt.cmd находиться в C:\Users\CyBer\AppData\Roaming\npm\ . Ошибка
Цитата:

Если вы видите это сообщение, либо Gruntfile не найдет или grunt не был установлен локально в ваш проект. Большее информации на сайте гранта.
Цитата:

Сообщение от kobezzza
ЗЫ: кстати, я в винде в качестве консольки юзаю git bash (http://git-scm.com/)

Спасибо, щас посмотрю , то виндовая консоль вызывает желание убивать.


Часовой пояс GMT +3, время: 18:30.