0

我正在使用 gulp injection 命令将我的 css 和 js 文件添加到 html 页面。当我检查文件时,文件被注入,但是当我运行 html 页面时,它显示文件未找到并且它不加载文件。

这是 gulp 文件 -

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....');
           })
})

这是我的 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);
});

但仍然没有在我的 html 页面上加载文件。

错误 谁能帮助我理解问题所在?

html页面中注入的文件:

网页

4

1 回答 1

0

修复了问题。

改变了线路 -

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

对此——

var injectOptions = {
        ignorePath: '/public'
    }; 
于 2017-03-09T07:09:49.667 回答