如何修复pug,sass,gulp的csp bug

1hdlvixo  于 8个月前  发布在  Gulp
关注(0)|答案(1)|浏览(119)

这是我的项目结构:enter image description here
我的gulpfile.js:

const gulp = require("gulp");
const pug = require("gulp-pug");
const sass = require('gulp-sass')(require('sass'));
const browserSync = require("browser-sync").create();
const htmlPrettify = require('gulp-html-prettify');

//  Pug -> HTML
gulp.task("pug", () => {
    return gulp
        .src("src/pug/pages/*.pug")
        .pipe(pug())
        .pipe(htmlPrettify())
        .pipe(gulp.dest("dist/html"))
        .pipe(browserSync.stream());
});

//  SCSS -> CSS
gulp.task("sass", () => {
    return gulp
        .src("src/assets/sass/main.scss")
        .pipe(sass().on("error", sass.logError))
        .pipe(gulp.dest("dist/css"))
        .pipe(browserSync.stream());
});

// BrowserSync
gulp.task("serve", () => {
    browserSync.init({
        server: "./dist",
    });

    gulp.watch("src/pug/**/*.pug", gulp.series("pug"));
    gulp.watch("src/assets/sass/**/*.scss", gulp.series("sass"));
});

// task
gulp.task("default", gulp.parallel("pug", "sass", "serve"));

当我运行gulp时,浏览器转到localhost:3000,但它崩溃了。我看了看控制台,得到了一个错误:内容安全策略:页面的设置阻止了在inline(“default-src”)加载资源。
我认为这是由于gulp中的BrowserSync,因为当我运行gulp时,我看到内联脚本,我试图更改,但它不起作用

mccptt67

mccptt671#

我修复了它,我写了错误的路径在gulp和运行时读取索引文件导致这个错误。下面是我编辑的gulp代码:

gulp.task("serve", () => {
    browserSync.init({
        server: {
            baseDir: "./dist/html",
            index: "home.html",
        },
    });
    gulp.watch("src/pug/**/*.pug", gulp.series("pug"));
    gulp.watch("src/assets/sass/**/*.scss", gulp.series("sass"));
});

相关问题