【问题标题】:Gulp Command Run Never FinishGulp 命令运行永远不会完成
【发布时间】:2020-12-05 18:39:47
【问题描述】:

我从wrappixel 网站购买了模板 MaterialPro。在我已经得到模板包之后,我按照模板附件的文档开始安装,如下所示:

  1. https://nodejs.org/en/download/ 安装 Node.js
  2. 打开终端导航到material-pro/
  3. 安装npm:npm install --global npm@latest
  4. 安装纱线:npm install --global yarn
  5. 安装 gulp:npm install --global gulp-cli
  6. 复制 gulp:gulp copy

根模板里面的gulpfile.js是这样的:

//gulpfile.js
console.time("Loading plugins"); //start measuring
const gulp = require('gulp'),
    minifyCSS = require('gulp-clean-css'),
    uglify = require('gulp-uglify'),
    rename = require("gulp-rename"),
    sass = require('gulp-sass'),
    npmDist = require('gulp-npm-dist');
console.timeEnd('Loading plugins');

const sassFiles = 'src/assets/scss/*.scss',
    cssDest = 'dist/css/';

//compile scss into css
function style() {
    return gulp.src(sassFiles)
        .pipe(sass().on('error', sass.logError))
        .pipe(gulp.dest(cssDest));
}

//This is for the minify css
async function minifycss() {
    return gulp.src(['dist/css/*.css', '!dist/css/**/*.min.css'])
        .pipe(rename({
            suffix: '.min'
        }))
        .pipe(minifyCSS())
        .pipe(gulp.dest(cssDest));
}

// This is for the minifyjs
async function minifyjs() {
    return gulp.src(['dist/js/custom.js','dist/js/app.js', '!dist/js/custom.min.js',  '!dist/js/app.min.js'] )
        .pipe(rename({
            suffix: '.min'
        }))
        .pipe(uglify())
        .pipe(gulp.dest('dist/js'));
}

// Copy dependencies to ./public/libs/
async function copy() {
    gulp.src(npmDist(), {
            base: './node_modules'
        })
        .pipe(gulp.dest('./src/assets/libs'));
};

async function watch() {
    gulp.watch(['src/assets/scss/**/*.scss'], style);
    gulp.watch(['dist/css/style.css'], minifycss);
    gulp.watch(['dist/js/**/*.js', '!dist/js/**/*.min.js'], minifyjs);
}


gulp.task('default', watch);

exports.style = style;
exports.minifycss = minifycss;
exports.minifyjs = minifyjs;
exports.copy = copy;
exports.watch = watch;

毕竟,我对模板 scss 文件进行了一些更改,并运行了gulp 命令。此时,gulp 命令运行从未完成 unitl now,终端上的输出如下所示

Loading plugins: 539.410ms
[17:01:03] Using gulpfile ~/Documents/documentation/materialpro-bootstrap-latest/material-pro/gulpfile.js
[17:01:03] Starting 'default'...
[17:01:03] Finished 'default' after 18 ms

这出了什么问题?请帮忙,谢谢。

P.S:如果我的问题不完整或其他问题,请道歉,如果建议我会尝试添加更多细节。

【问题讨论】:

    标签: node.js npm sass gulp


    【解决方案1】:

    您的 gulp 代码很好。对您的 scss 或 js 文件进行了一些更改,它会显示一些更改。

    解释

    1. 您的默认命令是gulp.task('default', watch);
    2. 当您运行gulp 时,它开始观察您的scss、css、js 代码。如果有新的更改,它将执行命令。

    建议。像这样使用。

    async function watch() {
        gulp.watch(['src/assets/scss/**/*.scss'], style, minifycss);
        gulp.watch(['dist/js/**/*.js', '!dist/js/**/*.min.js'], minifyjs);
    }
    

    【讨论】:

    • 在您的 scss 文件中,您已经导入了 `@import of "icons/font-awesome/css/fontawesome-all.css" 并且该路径不正确或该 css 文件需要一些字体文件。可能也缺少一个。请检查并让我知道。如果一切正常,则添加该文件以暂时忽略它,如果它阻止您进行进一步的开发。并分享您的 scss 文件
    • 我运行 gulp style、gulp minifycss 和 gulp minifyjs,它们运行良好,但当我运行 gulp 时,一切都再次挂起。我也已经按照您的建议进行了更改。谢谢
    • 是的,我做到了,所以我已将 fontawsesome 复制到文件夹 dist,所以我摆脱了那个错误。但仍然命令gulp 仍然挂起:)
    • 很高兴知道。它有帮助
    • 是的,我在 dist/bootstrap 文件夹中找到了一个 boostrap.css 和其他 css 文件,我认为它们是由我刚才激活的 vs 代码扩展 sass 实时编译器创建的。所以我删除了那些 css 文件,它们又可以工作了,非常感谢 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-06-15
    • 1970-01-01
    • 1970-01-01
    • 2016-09-07
    • 1970-01-01
    • 2017-01-27
    • 1970-01-01
    相关资源
    最近更新 更多