gulp-inject не может внедрить js-файл в index.html

Моя структура каталогов выглядит следующим образом:

|- app
   |- bower_components
   |- css
   |- img
   |- js
   |- scss
   |- template
|- node_modules
|- gulpfile.js
|- package.json
|- .bowerrc
|- bower.json

Теперь мой gulpfile.js такой, как показано ниже:

gulp.task('index', function() {
    var target = gulp.src('./app/index.html'); 
    var sources = gulp.src(['app/js/**/*.js'], { read: false });

    return target.pipe(inject(sources))
        .pipe(gulp.dest('app/js'));
});


gulp.task('default', function(callback) {
    runSequence(['sass', 'browserSync', 'index'], 'watch',
        callback
    );
});

Мой файл index.html выглядит так:

<!DOCTYPE html>
<html>

<head>
    <title>kisanApp</title>
    <!-- inject:css -->
    <!-- endinject -->
</head>

<body ng-app="kisanApp">
    <ng-view></ng-view>
    <!-- inject:js -->
    <!-- endinject -->
    <script src="bower_components/angular/angular.js"></script>
    <script src="bower_components/angular-route/angular-route.js"></script>
</body>

</html>

Но почему-то мои файлы js не добавляются в index.html через gulp. Так что-нибудь не так с этим путем?

1 ответ

Решение

Попробуйте добавить var inject = require('gulp-inject'); а также var gulp = require('gulp'); на вершину вашего глотка.

А затем еще раз посмотрите на ваши источники и gulp.dest:

var sources = gulp.src(['./app/js/**/*.js'], { read: false });

Вам нужно будет продолжить ./ до приложения

РЕДАКТИРОВАТЬ:

использование relative true разбирать файлы инъекций из папки выше в дереве каталогов

var sources = gulp.src(['./app/js/**/*.js'], { read: false }, {relative: true});

Другие вопросы по тегам