2017-03-08 5 views
0

Ich benutze Gulp inject Befehl, um meine CSS-und JS-Dateien auf der HTML-Seite hinzufügen. Wenn ich die Datei überprüfe, wird die Datei injiziert, aber wenn ich die HTML-Seite starte, wird die Datei nicht gefunden und die Dateien werden nicht geladen.Schluck injizieren funktioniert nicht richtig

Dies ist schluck Datei -

var gulp = require('gulp'); 
var jshint = require('gulp-jshint'); 
var jscs = require('gulp-jscs'); 
var nodemon = require('gulp-nodemon'); 


var jsFiles = ['*.js','src/**/*.js']; 

gulp.task('style',function(){ 
    return gulp.src(jsFiles) 
     .pipe(jshint()) 
     .pipe(jshint.reporter('jshint-stylish',{ 
      verbose: true 
     })); 
}); 

gulp.task('inject',function(){ 

    var wiredep = require('wiredep').stream; 
    var inject = require('gulp-inject'); 
    var injectSrc = gulp.src([__dirname + '/public/css/*.css',__dirname + '/public/js/*.js'],{read: false}); 
    var injectOptions = { 
     ignorePath: '../..public' 
    }; 

    var options = { 
     bowerJson: require(__dirname + '/node_modules/bower/lib/node_modules/qs/bower.json'), 
     directory: './public/lib', 
     ignorePath: '../../public' 
    } 

    return gulp.src('./src/views/*.html') 
       .pipe(wiredep(options)) 
       .pipe(inject(injectSrc,injectOptions)) 
       .pipe(gulp.dest('./src/views')); 

}); 

gulp.task('serve', ['style','inject'], function(){ 


    var options = { 
     script: 'app.js', 
     delayTime: 1, 
     env:{ 
      'PORT': 3000 
     }, 
     watch: jsFiles 
    } 
    return nodemon(options) 
      .on('restart',function(ev){ 
       console.log('Restarting....'); 
      }) 
}) 

Das ist mein app.js -

var express = require('express'); 

var app = express(); 
var port = process.env.PORT || 5000; 

//app.use(express.static('public')); 
app.use(express.static(__dirname + '/public')); 
app.use(express.static(__dirname + '/src/views')); 

app.get('/',function(req,res){ 
    res.send('Hello World'); 
}); 
app.get('/books',function(req,res){ 
    res.send('Hello Books'); 
}); 
app.listen(port,function(err){ 
    console.log('running server on port'+ port); 
}); 

Aber noch Dateien, die nicht auf meine HTML-Seite geladen zu werden.

Kann mir jemand helfen zu verstehen, was das Problem ist?

injiziert Dateien in HTML-Seite:

HTML Page

+0

Was ist der Inhalt der HTML-Datei in this-, wo die Dinge tatsächlich injiziert zu werden? –

+0

@WilmerSaint Hi Ich habe es gerade aktualisiert. – Dalton2

Antwort

0

das Problem behoben.

änderte die line-

var injectOptions = { 
     ignorePath: '../..public' 
    }; 

var injectOptions = { 
     ignorePath: '/public' 
    };