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.
Wie sehen Ihre www und app.js aus? – malix