gpt4 book ai didi

javascript - 更新 : Errors with postCSS and Babel in Gulpfile

转载 作者:可可西里 更新时间:2023-11-01 02:48:16 24 4
gpt4 key购买 nike

目标

我正在更新旧的 gulpfile.js,它过去主要用于将我的 Sass 编译成 CSS,但现在我正试图让 Gulp 执行以下操作:

  1. 同步浏览器,启动本地主机服务器 - 完成
  2. 编译 Sass => CSS - 完成
  3. 使用 JSHint 显示任何 JavaScript 错误 - 完成
    • 用 Babel 编译 ES6 => ES6 (正在进行中)
  4. 缩小所有 Assets (正在进行中)
    • 显示项目文件大小 - 完成
  5. 将 index.html、style.css 和图像部署到 S3 (工作中)
  6. 观看文件,在 .scss.html 更改时重新加载浏览器 - 完成

问题

  • 尝试缩小我的 Javascript 并创建一个 scripts.min.js文件,它不断向每个新的缩小的 JavaScript 添加后缀 min文件。

文件夹结构

index.html
gulpfile.js
package.json
.aws.json
.csscomb.json
.gitignore

assets
- css
style.css
style.scss

--partials
---base
---components
---modules

- img
- js
scripts.js

- dist

gulpfile.js

// Include Gulp
var gulp = require('gulp');
var postcss = require("gulp-postcss");

// All of your plugins
var autoprefixer = require('autoprefixer');
var browserSync = require('browser-sync');
var cache = require('gulp-cache');
var concat = require('gulp-concat');
var csswring = require("csswring");
var imagemin = require('gulp-imagemin');
var jshint = require('gulp-jshint');
var lost = require("lost");
var plumber = require('gulp-plumber');
var rename = require('gulp-rename');
var rucksack = require("rucksack-css");
var sass = require('gulp-sass');
var uglify = require('gulp-uglify');

// Sync browser, whip up server
gulp.task('browser-sync', function() {
browserSync({
server: {
baseDir: "./"
}
});
});

// Reload page automagically
gulp.task('bs-reload', function () {
browserSync.reload();
});

// Compile Sass into CSS, apply postprocessors
gulp.task('styles', function(){
var processors = [
autoprefixer({browsers: ['last 2 version']}),
csswring,
lost,
rucksack
];

gulp.src(['assets/css/**/*.scss'])
.pipe(plumber({
errorHandler: function (error) {
console.log(error.message);
this.emit('end');
}}))
.pipe(sass())
.pipe(postcss(processors))
// .pipe(gulp.dest('assets/css/'))
// .pipe(rename({suffix: '.min'}))
.pipe(gulp.dest('assets/css/'))
.pipe(browserSync.reload({stream:true}))
});

// Show any JavaScript errors
gulp.task('scripts', function(){
return gulp.src('assets/js/**/*.js')
.pipe(plumber({
errorHandler: function (error) {
console.log(error.message);
this.emit('end');
}}))
.pipe(jshint())
.pipe(jshint.reporter('default'))
// .pipe(concat('main.js'))
// .pipe(babel())
.pipe(gulp.dest('assets/js/'))
.pipe(uglify())
.pipe(gulp.dest('assets/js/'))
.pipe(rename({suffix: '.min'}))
.pipe(browserSync.reload({stream:true}))
});

// Minify assets, create build folder
gulp.task('images', function(){
gulp.src('assets/img/**/*')
.pipe(cache(imagemin({ optimizationLevel: 3, progressive: true, interlaced: true })))
.pipe(gulp.dest('assets/img'));
});

// Minify HTML


// Default task
gulp.task('default', ['browser-sync'], function(){
gulp.watch("assets/css/**/*.scss", ['styles']);
gulp.watch("assets/js/**/*.js", ['scripts']);
gulp.watch("*.html", ['bs-reload']);
gulp.start("images", "styles", "scripts")
});

// var babel = require('gulp-babel');
// var minifyhtml = require("gulp-minify-html");
// var size = require("gulp-size");
// var upload = require("gulp-s3");

最佳答案

您好,我无法解决您所有的问题,但我也遇到了与 babel 和 ES6 粗箭头函数(使用 babelify 和 browserify)类似的问题。解决问题尝试通过:

stage: 0

到你的 babel.js gulp 插件。如果仍然会出现错误,那么也尝试通过:

experimental: true

有关更多信息,请查看 babel.js 网站上的“实验”部分。

关于javascript - 更新 : Errors with postCSS and Babel in Gulpfile,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33464514/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com