2016-06-10 3 views
1

Ich versuche, eine neue MEAN App mit Schluck und Laube einzurichten, aber ich bekomme 404 Fehler auf meiner Bower Abhängigkeiten, wenn ich meine App starte. Ich benutzte Express-Generator, um meine Ordnerstruktur zu bekommen, aber ich wollte Schluck verwenden, um meine Frontend-Abhängigkeiten von Bower und meine Javascript-Dateien in meine Indexdatei zu injizieren.Getting a 404 auf angular.js auf einer MEAN App mit Schluck

Struktur Folder:

. 
+-- bin 
| +-- www 
+-- lib (bower_components) 
| +-- angular 
| +-- angular-ui-router 
+-- node_modules 
| +-- ... 
+-- public 
| +-- javascripts 
| | +-- angularApp.js 
+-- routes 
| +-- index.js 
| +-- users.js 
+-- views 
| +-- index.ejs 
+-- app.js 
+-- gulpfile.js 
+-- bower.json 
+-- package.json 

Und mein gulpfile:

'use strict'; 

var gulp = require('gulp'), 
    browserSync = require('browser-sync'), 
    inject = require('gulp-inject'), 
    nodemon = require('gulp-nodemon'), 
    wiredep = require('wiredep').stream, 
    reload = browserSync.reload; 

var paths = { 
    scripts: ['public/javascripts/**/*.js'] 
}; 

var nodemonOptions = { 
    script: 'bin/www', 
    ext: 'js', 
    env: { 'NODE_ENV': 'development' }, 
    verbose: false, 
    ignore: [], 
    watch: ['bin/*', 'routes/*', 'app.js'] 
}; 

gulp.task('inject', function(){ 
    return gulp.src('./views/index.ejs') 
     .pipe(inject(gulp.src(paths.scripts, {read:false}))) 
     .pipe(gulp.dest('./views')); 
}); 

gulp.task('wiredep', function(){ 
    gulp.src('./views/index.ejs') 
     .pipe(wiredep({ 
      directory: './lib', 
      bowerJson: require('./bower.json') 
     })) 
     .pipe(gulp.dest('./views/')); 
}); 

gulp.task('start', function(){ 
    nodemon({ 
     script: 'bin/www', 
     ext: 'js', 
     env: { 'NODE_ENV': 'development' }, 
     verbose: false, 
     ignore: [], 
     watch: ['bin/*', 'routes/*', 'app.js'] 
    }) 
     .on('restart'); 
}); 

gulp.task('default', ['inject', 'wiredep', 'start'], function(){ 
    gulp.watch(paths.scripts, ['inject', reload]); 
}); 

Ich weiß, dass meine gulpfile einspritzt eckig, kantig-ui-Router und angularApp.js in meine index.ejs Datei, sie zeigen sich als:

<script src="../lib/angular/angular.js"></script> 
<script src="../lib/angular-ui-router/release/angular-ui-router.js"></script> 
<script src="/public/javascripts/angularApp.js"></script> 

aber wenn ich die App starten, nichts auf localhost oben zeigt: 3000 und stattdessen ein re 3 Fehler in der Konsole geben mir 404 Fehler auf localhost: 3000/lib/angular/angular.js und so weiter für die anderen 2 Dateien.

Entschuldigung, wenn dies nicht korrekt formatiert ist oder wenn ich nicht genügend Informationen zur Verfügung gestellt habe, lassen Sie mich wissen, wenn ich mehr Code/Info zur Verfügung stellen muss.

+0

Wie sehen Ihre www und app.js aus? – malix

Antwort

1

Ich habe Express-Generator nicht verwendet, aber in Ihrem app.js Server-Code, sagen Sie Express die Dateien in Ihrer lib dienen? Versuchen Sie etwas wie:

app.use('/lib', express.static(process.cwd() + '/lib')); 
Verwandte Themen