我的目錄看起來像這樣:
-project
-gulpfile.js
|-build
-index.html
|-js
-app.min.js
-vendors.min.js
|-styles
-all.css
-vendors.min.css
我在css文件中注入了:
gulp.task('index',function () {
return gulp.src('src/index.html')
.pipe(inject(gulp.src(['http://localhost:5000/styles/all.css'], {read: false})))
.pipe(gulp.dest('build'))
.pipe(livereload());
})
我用Node.js設置了一個本地服務器,當我發(fā)出請求時,HTML文件會加載,但是。css文件由于某種原因無法連接。
我使用此任務來設置服務器:
gulp.task('connect', function() {
connect.server({
root: 'build',
livereload: true,
port: 5000
});
});
您可以使用快速框架來實現(xiàn)這一點
var express = require(express); var app = express(); //現(xiàn)在您可以在這里附加靜態(tài)文件 app.use("../example.css ",靜態(tài)("/..例”));
希望能管用。
為了提供靜態(tài)文件,如CSS、JS或資產,您需要將它們添加到您的index.html,您的服務器將負責提供您的資產。Gulp是一個任務運行器,而不是服務器,所以您需要建立一個簡單的HTTP服務器來提供您的資產。您當然可以用vanilla Nodejs構建HTTP服務器,但是最簡單的方法是用Express。您的Express服務器 可能看起來像這樣:
const express = require('express');
const app = express();
// serve static files in public/build directory
app.use(express.static('./build'));
// start the server on port 3000
const server = app.listen(3000, function() {
console.log('Server started on http://localhost:3000');
});
對每一個可能遇到我的問題的人來說,這就是解決辦法。
.pipe(inject(gulp.src(['build/styles/all.css'], {read: false}), {ignorePath: 'build'} ))