2016-02-21 72 views
0

在下面的express/gulpfile.js代碼中,我遇到了一個快速服務index.html的問題,但索引本身無法訪問lib/*目錄,而只有404s所有請求都是在我的頂部是index.html快速服務器404ing從索引做出的所有請求

我使用nodemon代理瀏覽器同步。不過,我很確定它與我的瀏覽器同步配置無關,因爲當我只使用node config/server.js時,同樣的問題仍然存在。

快速配置:

var express = require('express'); 
var path = require('path'); 
var filePaths = require('./filePaths'); 
var app = express(); 

//filePaths.releaseIndex === './release/index.html' 
app.get('/', function (req, res) { 
    res.sendFile(filePaths.releaseIndex, {root: './'}); 
}); 

app.listen(5000); 

咕嘟咕嘟任務配置:

//filePaths.release === './release' 
//filePaths.server === './config/server.js' 
gulp.task('browser-sync', ['nodemon'], function() { 
    browserSync.init(null, { 
     proxy: "http://localhost:5000", 
     files: [filePaths.release], 
     browser: "google chrome", 
     port: 7000 
    }); 
}); 

gulp.task('nodemon', function (cb) { 
    var started = false; 
    return nodemon({ 
     script: filePaths.server 
    }).on('start', function() { 
     if (!started) { 
      cb(); 
      started = true; 
     } 
    }); 
}); 

的index.html:

<script src="lib/es6-shim.min.js"></script> 

文件夾結構:

config 
    server.js 
release 
    index.html 
     lib 
      es6-shim.min.js 
      Rx.js 
      ... 

我試過res.sendFile()許多不同的變化,但只是不能立足,但我確信它是問題所在。

任何想法?

+0

具有u嘗試使用完整路徑,而不是'/ relesse/index.html'? – Yerken

回答

1

您的服務器不處理除/以外的任何其他路徑。爲了處理它們則可以將第一條路線後補充一點:

app.get('*', function (req, res) => { 
    res.sendFile(req.url, {root: filePaths.release}) 
}); 
+0

謝謝。我對Express很陌生,因爲你可以告訴我,我很感謝你回答這個問題並幫助我。乾杯。 – Aleski

相關問題