【发布时间】:2016-08-05 18:39:57
【问题描述】:
如上所示,我无法使用当前文件夹结构正确设置 Gulp。
这是我的 gulpfile.js:
var gulp = require('gulp');
var sass = require('gulp-sass')
var browserSync = require('browser-sync').create()
gulp.task('sass', function(){
return gulp.src('../public/scss/*')
.pipe(sass()) // Converts Sass to CSS with gulp-sass
.pipe(gulp.dest('../public/css'))
.pipe(browserSync.reload({
stream: true
}))
});
gulp.task('browserSync', function() {
browserSync.init({
server: {
baseDir: 'public'
},
})
})
gulp.task('watch', ['browserSync', 'sass'], function (){
gulp.watch('../public/scss/**/*.scss', ['sass']);
// Reloads the browser whenever HTML or JS files change
gulp.watch('views/*.html', browserSync.reload);
gulp.watch('../public/javascript/**/*.js', browserSync.reload);
gulp.watch('../public/css/**/*.css', browserSync.reload);
});
我的 index.html:
<!DOCTYPE html>
<html lang="en">
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta charset="UTF-8">
<script src="https://code.jquery.com/jquery-3.1.0.js" integrity="sha256-slogkvB1K3VOkzAI8QITxV3VzpOnkeNVsKvtkYLMjfk=" crossorigin="anonymous"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<link rel="stylesheet" href="/public/css/styles.css">
<title>FCC Image Search Abstraction</title>
</head>
<body>
<div class="container">
<div class="row">
<h1>Hello world</h1>
</div>
</div>
</body>
</html>
注意:我的公用文件夹中有一个 scss 文件夹。
编辑:我的 index.html 位于 views 文件夹内
我做错了什么?在我的 console.log 中,它说它无法获取它的 styles.css
【问题讨论】:
-
如果不查看整个目录结构,很难判断出什么问题。乍一看,我猜你的相对路径有问题。将构建文件和静态文件放在同一个目录中是很不寻常的。尝试添加
.pipe(sass().on('error', sass.logError))而不仅仅是简单的 sass() 方法,看看她说了什么。 -
我也会尝试将您的 scss 源更改为
return gulp.src('../public/scss/**/*.scss')
标签: javascript gulp gulp-watch gulp-browser-sync