jadjoubran / laravel5-angular-material-starter

Get started with Laravel 5.3 and AngularJS (material)
https://laravel-angular.readme.io/
MIT License
1.66k stars 401 forks source link

Error: ENOENT: no such file or directory #462

Closed birkansava closed 7 years ago

birkansava commented 7 years ago

I'm using version 3.4 and It's working when I ran only "gulp" but I got this error when I ran gulp watch. node -v : 6.9.4 npm -v : 3.10.10 laravel-elixir : ^6.0.0-9

[14:35:47] Finished 'generate-service-worker' after 13 ms
stream.js:74
      throw er; // Unhandled stream error in pipe.
Error: ENOENT: no such file or directory, stat 'C:\Users\BIRKANESEN\Code\projects\vomsis\public\build\js\final-057793753b.js'
    at Error (native)`

my gulp.js (nothing changed after fresh install)

'use strict';

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

require('laravel-elixir-eslint');

require('./tasks/swPrecache.task.js');
require('./tasks/bower.task.js');

// setting assets paths
elixir.config.assetsPath = './';
elixir.config.css.folder = 'angular';
elixir.config.css.sass.folder = 'angular';
elixir.config.js.folder = 'angular';

/*
 |--------------------------------------------------------------------------
 | Elixir Asset Management
 |--------------------------------------------------------------------------
 |
 | Elixir provides a clean, fluent API for defining some basic Gulp tasks
 | for your Laravel application. By default, we are compiling the Sass
 | file for our application, as well as publishing vendor resources.
 |
 */

 let assets = [
         'public/js/final.js',
         'public/css/final.css'
     ],
     scripts = [
         'public/js/vendor.js', 'public/js/app.js'
     ],
     styles = [
         // for some reason, ./ prefix here works fine!
         // it is needed to override elixir.config.css.folder for styles mixin
         './public/css/vendor.css', './public/css/app.css'
     ],
     karmaJsDir = [
         'public/js/vendor.js',
         'node_modules/angular-mocks/angular-mocks.js',
         'node_modules/ng-describe/dist/ng-describe.js',
         'public/js/app.js',
         'tests/angular/**/*.spec.js'
     ];

elixir(mix => {
    mix.bower()
       .copy('angular/app/**/*.html', 'public/views/app/')
       .copy('angular/dialogs/**/*.html', 'public/views/dialogs/')
       .webpack('index.main.js', 'public/js/app.js')
       .sass(['**/*.scss', 'critical.scss'], 'public/css')
       .sass('critical.scss', 'public/css/critical.css')
       .styles(styles, 'public/css/final.css')
       .eslint('angular/**/*.js')
       .combine(scripts, 'public/js/final.js')
       .version(assets)
       .swPrecache();

       //enable front-end tests by adding the below task
       // .karma({jsDir: karmaJsDir});
});
birkansava commented 7 years ago

ah It solved after that I've moved that line ".webpack('index.main.js', 'public/js/app.js')" to before versioning line : ".version(assets)" so my gulpfile.js is like this now :

 .copy('angular/app/**/*.html', 'public/views/app/')
   .copy('angular/dialogs/**/*.html', 'public/views/dialogs/')
  .sass(['**/*.scss', 'critical.scss'], 'public/css')
  .sass('critical.scss', 'public/css/critical.css')
  .styles(styles, 'public/css/final.css')
  .eslint('angular/**/*.js')
  .combine(scripts, 'public/js/final.js')
  .webpack('index.main.js', 'public/js/app.js')
  .version(assets)
  .swPrecache();