# su-gulpdemo

> ``` // //引入的记得下载 // const gulp = require("gulp"); // const uglify = require("gulp-uglify"); //压缩js // const htmlmin = require("gulp-htmlmin") //压缩html // const sass = require("gulp-sass") //压缩sass

Latest version **1.0.0** (published 2020-11-24) · ISC license · 0 weekly downloads

## Install

```sh
npm install su-gulpdemo
pnpm add su-gulpdemo
yarn add su-gulpdemo
bun add su-gulpdemo
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.0 |
| Published | 2020-11-24 |
| First published | 2020-11-24 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 10 |
| Unpacked size | 156.7 KB |
| Known vulnerabilities | 0 (+24 in 2 direct dependencies) |
| Install scripts | no |
| Maintainers | 12138.sq |

## Links

- npm: https://www.npmjs.com/package/su-gulpdemo
- npm.io page: https://npm.io/package/su-gulpdemo

## Dependencies (10)

- [gulp](https://npm.io/package/gulp.md) ^4.0.2
- [axios](https://npm.io/package/axios.md) ^0.21.0
- [gulp-sass](https://npm.io/package/gulp-sass.md) ^4.1.0
- [node-sass](https://npm.io/package/node-sass.md) ^5.0.0
- [gulp-babel](https://npm.io/package/gulp-babel.md) ^8.0.0
- [gulp-rename](https://npm.io/package/gulp-rename.md) ^2.0.0
- [gulp-uglify](https://npm.io/package/gulp-uglify.md) ^3.0.2
- [gulp-clean-css](https://npm.io/package/gulp-clean-css.md) ^4.3.0
- [gulp-webserver](https://npm.io/package/gulp-webserver.md) ^0.9.1
- [gulp-html-minify](https://npm.io/package/gulp-html-minify.md) ^0.0.14

## Recent versions

- 1.0.0 (latest) — 2020-11-24

## README

# gulp
```
// //引入的记得下载
// const gulp = require("gulp");
// const uglify = require("gulp-uglify"); //压缩js
// const htmlmin = require("gulp-htmlmin") //压缩html
// const sass = require("gulp-sass") //压缩sass

// //压缩js
// gulp.task('js', function() {

//     return gulp.src('a/*.js')
//         .pipe(uglify({

//         }))
//         .pipe(gulp.dest('b'))
// });

// //压缩html
// gulp.task('html', function() {

//     return gulp.src('a/*.html')
//         .pipe(htmlmin({
//             collapseWhitespace: true
//         }))
//         .pipe(gulp.dest('b'))
// });

// //压缩sass
// gulp.task('sass', function() {

//     return gulp.src('a/*.scss')
//         .pipe(sass())
//         .pipe(gulp.dest('b'))
// });
const { src, dest, series, parallel, watch } = require("gulp");
const htmlMinify = require("gulp-html-minify")
const sass = require("gulp-sass");
const cleanCss = require("gulp-clean-css")
const babel = require("gulp-babel");
const uglify = require("gulp-uglify");
const rename = require("gulp-rename");
const webServer = require("gulp-webserver")

function buildHtml() {
    return src("src/index.html")
        .pipe(htmlMinify()) //压缩html
        .pipe(dest("dist"))
}


//压缩css
function buildScss() {
    return src("src/scss/*.scss")
        .pipe(sass()) //编译
        .pipe(dest("dist/css"))
        .pipe(cleanCss()) //压缩
        .pipe(rename(path => {
            path.basename += ".min"
        }))
        .pipe(dest("dist/css"))
}
// 压缩js
function buildJS() {
    return src(["src/js/*.js"])
        // .pipe(babel({   //编译
        //     "presets": ["@babel/env"]
        // }))
        // .pipe(uglify())  //压缩
        .pipe(dest("dist/js"))
}



function auto() {
    watch("src/*.html", parallel(buildHtml))
    watch("src/scss/*.scss", parallel(buildScss))
    watch("src/js/*.js", parallel(buildJS))
}

function server() {
    src("dist")
        .pipe(webServer({
            middleware(req, res, next) {
                if (req.url === "/api/login") {
                    //    处理 post  
                    let body = "";
                    req.on("data", (chunk) => {
                        body += chunk;
                    })
                    req.on("end", () => {
                        let { username, password } = JSON.parse(body);
                        if (username === "admin" && password === "123") {
                            res.end("1")
                        } else {
                            res.end("0")
                        }
                    })
                } else {
                    next(); //继续下一个

                }

            }
        }))
}



module.exports = {
    buildHtml,
    buildScss,
    buildJS,
    build: parallel(buildHtml, buildJS, buildScss),
    auto,
    server,
    default: parallel(auto, server)
}
```

---
_Source: https://npm.io/package/su-gulpdemo · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
