Javascript 正确设置Gulp browserSync

Javascript 正确设置Gulp browserSync,javascript,gulp,gulp-watch,gulp-browser-sync,Javascript,Gulp,Gulp Watch,Gulp Browser Sync,如上图所示,我无法使用当前文件夹结构正确设置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()) // Conve

如上图所示,我无法使用当前文件夹结构正确设置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);
});
My 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>

FCC图像搜索抽象
你好,世界
注意:我在公用文件夹中有一个scss文件夹

编辑:My index.html位于视图文件夹内


我做错了什么?在my console.log中,它说它无法获取自己的样式。cssBrowserSync正在公共网站上提供服务/

server: { baseDir: 'public'},
尝试更改html中的css链接,以便

<link rel="stylesheet" href="/css/styles.css">

BrowserSync在上为公共服务/

server: { baseDir: 'public'},
尝试更改html中的css链接,以便

<link rel="stylesheet" href="/css/styles.css">


如果不查看整个目录结构,就很难判断出问题所在。乍一看,我猜你对相对路径有问题。将构建文件和静态文件放在同一个目录中是非常不寻常的。尝试添加
.pipe(sass().on('error',sass.logError))
而不仅仅是简单的sass()方法,看看她说了什么。我还尝试将您的scss源代码更改为类似
return gulp.src('../public/scss/***.scss')
的代码,不查看整个目录结构就很难判断出问题。乍一看,我猜你对相对路径有问题。将构建文件和静态文件放在同一个目录中是非常不寻常的。尝试添加
.pipe(sass().on('error',sass.logError))
而不仅仅是简单的sass()方法,看看她说了什么。我还尝试将您的scss源代码更改为类似
return gulp.src('../public/scss/***.scss')