Alex_Wells
@Alex_Wells
PHP/TS/Kotlin developer

Laravel Elixir + require angular?

Здравствуйте. Есть сайт на последнем laravel'е (5.2), стоит elixir, bower, npm, node. Собственно пытаюсь прикрутить elixir-angular-template-cache из npm'а. Есть такой код:

var elixir = require('laravel-elixir');

require('elixir-angular-template-cache');

elixir(function(mix) {
    mix.angulartemplatecache({
        standalone: true
    }, 'resources/assets/js/app/templates/**/*.html', 'resources/assets/js/app');
});


Сам elixir работает прекрасно, не работает только ф-я angulartemplatecache. Вот ошибка:
TypeError: mix.angulartemplatecache is not a function
. При этом если я вставляю содержимое файла index.js того самого модуля прямо в gulpfile.js - все работает! Не работает именно если использовать конструкцию require.. Я уже не понимаю, что не так.

node js v5.10.1
npm 3.8.3

UPD: такое чувство, что это разные instance'ы просто напросто, но что с этим делать - не понятно.
  • Вопрос задан
  • 523 просмотра
Решения вопроса 1
Не уверен что так правильно, но я сделал так

Пакет для эликсира я не использовал, потому что они часто работают с ошибками.
Ничего не мешает использовать "gulp-angular-templatecache", который 100% работает

Реализация получилось такой

var gulp = require('gulp');
var templateCache = require('gulp-angular-templatecache');

var Task = elixir.Task;

// Создание новой задачи
elixir.extend('templateCache', function() {

    new Task('templateCache', function() {
        return gulp.task('templateCache', function () {
            return gulp.src('resources/assets/js/**/*.html')
                .pipe(templateCache('templateCache.js', { module:'app'}))
                .pipe(gulp.dest('resources/assets/js/'));
        });

    }).watch('resources/assets/js/**/*.html');

});

elixir(function(mix) {
	// Добавляем задачу в микс
	mix.templateCache();
});
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы