javascript

java

python

c#

android

c++

node.js

php

html

jquery

ios

reactjs

css

.net

git

ruby-on-rails

sql

c

ruby

string

ubuntu-gulp命令执行n

我正在使用ubuntu 14.04 LTS,我安装了nodejs(不是node)和npm。我已经使用npm install gulp -g安装了gulp。

但是我的命令gulp不起作用,它默默运行,什么也不返回!

enter image description here

trans by 2020-08-06T08:00:17Z

npm-如何安装gulp 4

我一直在用口水表。 当前版本的gulp-watch依赖于调用gulp.parrallel。 此呼叫仅在gulp 4中可用。

但是,gulp 4无法通过npm repo使用。npm info gulp dist-tags返回:npm install https://github.com/gulpjs/gulp#v4.0.0

我可以看到git repo中有一个4.0分支。 但是尝试使用以下命令的变体安装它失败:npm install https://github.com/gulpjs/gulp#v4.0.0

trans by 2020-08-05T16:25:57Z

javascript-如何使用gulp正确清理项目?

在gulp页面上,有以下示例:

gulp.task('clean', function(cb) {
  // You can use multiple globbing patterns as you would with `gulp.src`
  del(['build'], cb);
});

gulp.task('scripts', ['clean'], function() {
  // Minify and copy all JavaScript (except vendor scripts)
  return gulp.src(paths.scripts)
    .pipe(coffee())
    .pipe(uglify())
    .pipe(concat('all.min.js'))
    .pipe(gulp.dest('build/js'));
});

// Copy all static images
gulp.task('images', ['clean'], function() {
 return gulp.src(paths.images)
    // Pass in options to the task
    .pipe(imagemin({optimizationLevel: 5}))
    .pipe(gulp.dest('build/img'));
});

// the task when a file changes
gulp.task('watch', function() {
  gulp.watch(paths.scripts, ['scripts']);
  gulp.watch(paths.images, ['images']);
});

// The default task (called when you run `gulp` from cli)
gulp.task('default', ['watch', 'scripts', 'images']);

这很好。 但是watch任务存在一个大问题。 如果更改图像,监视任务将检测到该图像并运行images任务。 它也对clean任务具有依赖性(gulp.task('images', **['clean']**, function() {),因此也可以运行。 但是比我的脚本文件丢失了,因为scripts任务没有再次启动,并且clean任务删除了所有文件。

我如何才能在首次启动时运行clean任务并保持依赖关系?

trans by 2020-08-05T11:19:19Z

使用gulp将bootstrap.less文件编译为主bootstrap.css?

我真的很喜欢gulpjs,它是我选择的任务管理器,但我希望我几个月前了解任务管理器并加入gruntjs,主要是为了获得支持。 对于gulpjs来说,很难找到有关特定事物的信息。

我的问题是如何设置我的stream.js:94
throw er; // Unhandled stream error in pipe.
^
[gulp] Error in plugin 'gulp-less': variable @alert-padding is undefined in file C:\wamp\www\myproj\source\less\alerts.less line no. 10
,以便可以对bootstrap.less文件进行编辑,尤其是variables.less。我确实安装了“ gulp-less”,并按如下所示实现了它。

var less = require('gulp-less'),
    path = require('path');

gulp.task('less', function () {
  gulp.src('./source/less/variables.less')
    .pipe(less())
    .pipe(gulp.dest('./source/css/bootstrap.css'));
});

运行stream.js:94
throw er; // Unhandled stream error in pipe.
^
[gulp] Error in plugin 'gulp-less': variable @alert-padding is undefined in file C:\wamp\www\myproj\source\less\alerts.less line no. 10
后,出现以下错误。


错误:EEXIST,mkdir'C:\ wamp \ www \ myproj \ source \ css \ bootstrap.css'

我认为我的sass任务代码设置不正确,我是gulp noobie,但是我尝试了多种组合,是的,我确实使用了“无gulp”文档中的示例,我使用的代码最简洁明了 削减我想要完成的代码。

编辑:我在Google上为此找到了一些很好的关键字,我发现了一些与此相关的最新文章,这是一个以无Gulp的维护文件夹结构启动Gulp似乎没有一个好答案,需要阅读。

另外:使用文档中的代码时,我忘了,我收到alert.less的错误

gulp.task('less', function () {
  gulp.src('./source/less/*.less')
    .pipe(less({
      paths: [ path.join(__dirname, 'less', 'includes') ]
    }))
    .pipe(gulp.dest('./source/css'));
});

错误


抛出 //管道中未处理的流错误。
^
[gulp]插件“ gulp-less”中的错误:文件C:\ wamp \ www \ myproj \ source \ less \ alerts.less行中未定义变量@ alert-padding没有。 10

即使删除该行,它也一直在寻找新的错误。

编辑:文档确实会说以下内容,但对我而言这没有意义,是否表示应该有错误,如果这样会造成混淆,请尝试按照他们提供的指南进行操作。

错误处理

默认情况下,发生错误时,gulp任务将失败并且所有流都将停止。 要更改此行为,请在此处查看错误处理文档

trans by 2020-08-01T00:12:50Z

javascript-如何使Gulp停止监视文件

如何停止观看文件?

我还没有看到文档中的方法对我来说有点奇怪。

trans by 2020-07-27T10:58:02Z

typescript-如何使用SystemJS和Gulp准备发行版本?

我在Angular2项目中使用SystemJS。 我将tsconfig文件用于TypeScript。 我想使用gulp合并并最小化生产版本的代码。 我在编写代码时遇到问题:每次尝试合并文件时,都会得到未定义的“角度”或未定义的“系统”。 我试图修改尝试从节点模块加载文件的顺序,但是没有成功。

我想知道你们中是否有人遇到这个问题,并找到了答案?

这是我的gulp文件:

var gulp = require('gulp'),
            .....


var paths = {
    dist: 'dist',
    vendor: {
        js: [
            'node_modules/systemjs/dist/system.src.js',
            'node_modules/angular2/bundles/angular2.dev.js',
            'node_modules/angular2/bundles/angular2-polyfills.js',
            'node_modules/angular2/bundles/router.dev.js'
             ...
        ],
        css: []
},
    app: {
        templates: [
            'app/**/*.html',
            '!node_modules/*.html'
        ],
        scripts: [
            'app/**/*.ts',
            'app/config.ts',
            'app/app.ts'
        ]
    }
};

var tsProject = ts.createProject('tsconfig.json', {
    out: 'Whatever.js'
});

gulp.task('dev:build:templates', function () {
    return gulp.src(paths.app.templates)
        .pipe(ngHtml2Js({
            moduleName: 'Whatever',
            declareModule: false
        }))
        .pipe(concat("Whatever.tpls.min.js"))
        .pipe(gulp.dest(paths.dist));
});
gulp.task('prod:build:templates', function () {
    return gulp.src(paths.app.templates)
        .pipe(minifyHtml({
            empty: true,
            spare: true,
            quotes: true
        }))
        .pipe(ngHtml2Js({
            moduleName: 'whatever',
            declareModule: false
        }))
        .pipe(concat(paths.appName + ".tpls.min.js"))
        .pipe(uglify())
        .pipe(gulp.dest(paths.dist));
});

gulp.task('dev:build:scripts', function () {
    var tsResult = tsProject.src()
        .pipe(sourcemaps.init())
        .pipe(ts(tsProject));

    return tsResult.js
        .pipe(sourcemaps.write({
            sourceRoot: '/app'
        }))
        .pipe(concat('whatever.js'))
        .pipe(gulp.dest(paths.dist));
});

gulp.task('dev:build:styles', function () {
    return gulp.src(paths.app.styles)
        .pipe(sass())
        .pipe(gulp.dest(paths.dist + '/css'));
});
gulp.task('dev:build:vendor', function () {
    return gulp.src(paths.vendor.js)
        .pipe(concat('vendor.min.js'))
        .pipe(gulp.dest(paths.dist))
});

gulp.task('dev:build', [
    'dev:build:vendor',
    'dev:build:templates',
    'dev:build:scripts',
    'dev:build:styles',
], function () {
});

这是我加载文件的方式:

   <script src="vendor.min.js"></script>
   <script src="Whatever.js"></script>
   <script src="Whatever.tpls.min.js"></script>

这是我得到的错误:

Uncaught TypeError: Unexpected anonymous System.register call.(anonymous function) @ vendor.min.js:2680load.metadata.format @ vendor.min.js:3220oldModule @ vendor.min.js:3749(anonymous function) @ vendor.min.js:2411SystemJSLoader.register @ vendor.min.js:2636(anonymous function) @ Whatever.js:2
Whatever.tpls.min.js:1 Uncaught ReferenceError: angular is not defined
trans by 2020-07-18T06:23:57Z

Javascript-从Gulp运行Shell命令

我想使用gulp-shell从gulp运行Shell命令。我看到正在使用gulpfile的以下用法。

这是从gulp任务运行命令的惯用方式吗?

var cmd = 'ls';
gulp.src('', {read: false})
    .pipe(shell(cmd, {quiet: true}))
    .on('error', function (err) {
       gutil.log(err);
});
trans by 2020-07-13T07:06:10Z

Javascript-gulp:uglify和sourcemaps

我正在用口水。

我想要一个或多个JS文件(例如jQuery)将它们组合为一个,将其最小化,然后将其写入分发文件夹。

这是我的方法:

minifyJS(['/js/myModule.file1.js',
          '/js/myModule.file2.js'], '/dist/js', 'myModule')

功能:

function minifyJS(sourceFiles, destinationFolder, filenameRoot) {
    return gulp.src(sourceFiles)
        .pipe(plumber())

        // .pipe(sourcemaps.init()) here ???
        .pipe(concat(filenameRoot + '.js'))
        .pipe(sourcemaps.init()) // or here ???

        .pipe(gulp.dest(destinationFolder)) // save .js
        .pipe(uglify({ preserveComments: 'license' }))
        .pipe(rename({ extname: '.min.js' }))
        .pipe(gulp.dest(destinationFolder)) // save .min.js
        .pipe(sourcemaps.write('maps'))
        .pipe(gulp.dest(destinationFolder)) // save .map
}

我不确定的是sourcemaps.init()的位置...

我应该创建多个(在我的情况下为2个)地图文件(如果浏览器支持,那会很好)还是仅创建一个(/maps/myModule.map)?

trans by 2020-07-08T05:32:19Z

gulp-sass-lint是否忽略了某一行?

我在Gulp上使用sass-lint。 如何从lint控制台输出禁用我的sass中特定样式的警告?

我发现了一个类似的问题,但我使用的是sass-lint,而不是scss-lint:让scss-lint忽略特定的行

这是我正在使用的一个:[https://www.npmjs.com/package/gulp-sass-lint]

我已经根据scss-lint项目尝试了一些变体:

// scss-lint:disable ImportantRule
// sass-lint:disable ImportantRule
// sass-lint:disable no-important

为了清楚起见,我想在我的SASS中而不是在全局中禁用针对特定样式的警告。 当触发警告的东西是有意的时,我将使用它。 例如,我可能设置了多种背景样式,因此可以作为旧版浏览器的后备。 但这当前触发了no-duplicate-properties警告。

trans by 2020-07-08T01:08:51Z

npm-gulp-newer vs gulp-changed

它们之间有什么区别?

gulp-newer:

gulp.src(imgSrc)
  .pipe(newer(imgDest))
  .pipe(imagemin())
  .pipe(gulp.dest(imgDest));

吞咽改变

gulp.src(SRC)
    .pipe(changed(DEST))
    // ngmin will only get the files that
    // changed since the last time it was run
    .pipe(ngmin())
    .pipe(gulp.dest(DEST));

似乎大吃一惊更强大,因为它提供了一个选择

hasChanged: changed.compareLastModifiedTime
trans by 2020-07-07T20:32:22Z

sass-Gulp TypeError:path.join的参数必须是字符串

我对gulp-ruby-sass有问题。 当我尝试运行监视任务并更改一些.sass文件时,发生错误:

TypeError: Arguments to path.join must be strings 

这是我的gulpfile.js

var gulp = require('gulp');
var jade = require('gulp-jade');
var sass = require('gulp-ruby-sass');
var watch = require('gulp-watch');

gulp.task('sass', function() {
    return gulp.src('sass/*.sass')
        .pipe(sass())
                .pipe(gulp.dest('./css'));

});
gulp.task('watch', function() {
    gulp.watch('./sass/*.sass', ['sass']);
})

我用了gulp-slash,但是没有用。

trans by 2020-07-01T09:28:31Z

gulp-GulpUglifyError:无法缩小JavaScript

我正在尝试缩小我正在使用gulp任务运行器的脚本文件我正在尝试gulp-uglify插件

码:

 gulp.task('concat', function() {
    return gulp.src('app/**/*.js')
        // .pipe(concat('script.js'))
        .pipe(uglify())
        .pipe(gulp.dest('./dist/'))
});

但我得到错误

enter image description here

当我尝试将gulp任务作为gulp concat运行时任何帮助,将不胜感激

trans by 2020-06-30T11:14:23Z

node.js-如何将使用Gulp的节点部署到heroku

我正在使用gulp以及gulp插件,例如gulp-minify-css,gulp-uglify等(在我的应用程序中列为npm依赖项)。

另外,我不提交所有生成的文件所在的npm_modules文件夹和公用文件夹。 而且我不知道在部署和设置服务器(已经在寻找公用文件夹)之后如何构建我的应用程序(我有gulp build命令)。

在上传之前先提交似乎是个坏主意。 也许有一些温柔的决定...有什么想法吗?

来自:如何将使用grunt的节点应用程序部署到heroku

trans by 2020-06-19T07:53:17Z

如何在gulp中运行bash命令?

我想在gulp.watch函数的末尾添加一些bash命令,以加快开发速度。 因此,我想知道是否有可能。 谢谢!

trans by 2020-02-02T15:07:45Z

javascript-UglifyJS抛出意外的令牌:带有node_modules的关键字(const)

我开始的一个小项目使用一个声明const变量的节点模块(通过npm安装)。 运行并测试该项目很好,但是执行UglifyJS时browserify失败。

意外令牌:关键字(常量)

这是一个通用的Gulp文件,我已经成功地将其用于其他一些过去的项目中而没有出现这个问题(即没有那个特定的节点模块)。

gulpfile.js

'use strict';

const browserify = require('browserify');
const gulp = require('gulp');
const source = require('vinyl-source-stream');
const derequire = require('gulp-derequire');
const buffer = require('vinyl-buffer');
const uglify = require('gulp-uglify');
const sourcemaps = require('gulp-sourcemaps');
const gutil = require('gulp-util');
const path = require('path');
const pkg = require('./package');
const upperCamelCase = require('uppercamelcase');

const SRC_PATH = path.dirname(pkg.main);
const DIST_PATH = path.dirname(pkg.browser);

const INPUT_FILE = path.basename(pkg.main);
const OUTPUT_FILE = path.basename(pkg.browser);

const MODULE_NAME = upperCamelCase(pkg.name);


gulp.task('default', () => {
  // set up the browserify instance on a task basis
  var b = browserify({
    entries: INPUT_FILE,
    basedir: SRC_PATH,
    transform: ['babelify'],
    standalone: MODULE_NAME,
    debug: true
  });

  return b.bundle()
    .pipe(source(OUTPUT_FILE))
    .pipe(buffer())
    .pipe(derequire())
    .pipe(sourcemaps.init({loadMaps: true}))
    .pipe(uglify())
    .on('error', gutil.log)
    .pipe(sourcemaps.write('.'))
    .pipe(gulp.dest(DIST_PATH))
  ;
});

我已尝试通过在安装了npm的模块中将所有const替换为var来解决此问题,一切都很好。 所以我不了解失败。

const有什么问题? 除非有人使用IE10,否则所有主流浏览器都支持此语法。

有没有解决方法,而无需更改该节点模块?

更新资料

我暂时(或永久)用Butternut替换了UglifyJS,并且似乎可以正常工作。

trans by 2020-01-30T06:05:17Z

每次我大口吃任何东西,我都会得到一个断言错误。 -必须指定任务功能

我正在尝试运行下面的命令,但是不幸的是我遇到了错误。

$ gulp build

在我的终端中,我得到这个断言错误。 我已经卸载了node和NPM,然后使用brew重新安装了-如何完全卸载Node.js,并按照以下步骤从头开始安装(Mac OS X)。 我的节点版本是v10.5.0,npm版本是10.13.2

我的系统是MacOS High Sierra 10.13.2

assert.js:269
    throw err;
    ^

AssertionError [ERR_ASSERTION]: Task function must be specified
    at Gulp.set [as _setTask] (bulkit/startup-kit/node_modules/undertaker/lib/set-task.js:10:3)
    at Gulp.task (startup-kit/node_modules/undertaker/lib/task.js:13:8)
    at Object.<anonymous> 
    at Module._compile (internal/modules/cjs/loader.js:702:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:713:10)
    at Module.load (internal/modules/cjs/loader.js:612:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:551:12)
    at Function.Module._load (internal/modules/cjs/loader.js:543:3)
    at Module.require (internal/modules/cjs/loader.js:650:17)
    at require (internal/modules/cjs/helpers.js:20:18)

package.json

{
    "name": "bulkit-startup",
    "version": "0.0.1",
    "description": "Bulkit Startup Kit",
    "main": "Gruntfile.js",
    "devDependencies": {
        "autoprefixer": "^6.3.6",
        "browser-sync": "^2.24.5",
        "gulp": "^4.0.0",
        "gulp-clean": "^0.3.2",
        "gulp-concat": "^2.6.0",
        "gulp-postcss": "^6.1.0",
        "gulp-sass": "^2.2.0",
        "gulp-sourcemaps": "^1.6.0",
        "jquery": "^3.3.1",
        "mq4-hover-shim": "^0.3.0",
        "panini": "^1.3.0",
        "rimraf": "^2.5.2"
    },
    "engines": {
        "node": ">=0.10.1"
    },
    "scripts": {
        "start": "gulp",
        "build": "gulp build"
    },
    "repository": {
        "type": "git",
        "url": "https://github.com/cssninjaStudio/bulkit.git"
    },
    "bugs": {
        "url": "https://github.com/cssninjaStudio/bulkit/issues",
        "email": "support@cssninja.io"
    },
    "author": "Css Ninja <hello@cssninja.io> (https://cssninja.io/themes/bulkit)",
    "license": "Commercial",
    "private": true,
    "dependencies": {
        "bulma": "^0.7.0",
        "del": "^3.0.0",
        "jquery-waypoints": "^2.0.5",
        "jquery.counterup": "^2.1.0",
        "scrollreveal": "^3.4.0",
        "slick-carousel": "^1.8.1",
        "wallop": "^2.4.1"
    }
}

gulpfile.js

var gulp = require('gulp');
var clean = require('gulp-clean');
var sass = require('gulp-sass');
var sourcemaps = require('gulp-sourcemaps');
var postcss = require('gulp-postcss');
var autoprefixer = require('autoprefixer');
var mq4HoverShim = require('mq4-hover-shim');
var rimraf = require('rimraf').sync;
var browser = require('browser-sync');
var panini = require('panini');
var concat = require('gulp-concat');
var port = process.env.SERVER_PORT || 8080;
var nodepath =  'node_modules/';
var assetspath =  'assets/';

// Starts a BrowerSync instance
gulp.task('server', ['build'], function(){
    browser.init({server: './_site', port: port});
});

// Watch files for changes
gulp.task('watch', function() {
    gulp.watch('scss/**/*', ['compile-scss', browser.reload]);
    gulp.watch('sass/**/*', ['compile-sass', browser.reload]);
    gulp.watch('js/**/*', ['copy-js', browser.reload]);
    gulp.watch('images/**/*', ['copy-images', browser.reload]);
    gulp.watch('html/pages/**/*', ['compile-html']);
    gulp.watch(['html/{layouts,includes,helpers,data}/**/*'], ['compile-html:reset','compile-html']);
    gulp.watch(['./src/{layouts,partials,helpers,data}/**/*'], [panini.refresh]);
});

// Erases the dist folder
gulp.task('reset', function() {
    rimraf('bulma/*');
    rimraf('scss/*');
    rimraf('assets/css/*');
    rimraf('assets/fonts/*');
    rimraf('images/*');
});

// Erases the dist folder
gulp.task('clean', function() {
    rimraf('_site');
});

// Copy Bulma filed into Bulma development folder
gulp.task('setupBulma', function() {
    //Get Bulma from node modules
    gulp.src([nodepath + 'bulma/*.sass']).pipe(gulp.dest('bulma/'));
    gulp.src([nodepath + 'bulma/**/*.sass']).pipe(gulp.dest('bulma/'));
});

// Copy static assets
gulp.task('copy', function() {
    //Copy other external font and data assets
    gulp.src(['assets/fonts/**/*']).pipe(gulp.dest('_site/assets/fonts/'));
    gulp.src([nodepath + 'slick-carousel/slick/fonts/**/*']).pipe(gulp.dest('_site/assets/css/fonts/'));
    gulp.src([nodepath + 'slick-carousel/slick/ajax-loader.gif']).pipe(gulp.dest('_site/assets/css/'));
});

//Theme Sass variables
var sassOptions = {
    errLogToConsole: true,
    outputStyle: 'compressed',
    includePaths: [nodepath + 'bulma/sass']
};

//Theme Scss variables
var scssOptions = {
    errLogToConsole: true,
    outputStyle: 'compressed',
    includePaths: ['./scss/partials']
};

// Compile Bulma Sass
gulp.task('compile-sass', function () {
    var processors = [
        mq4HoverShim.postprocessorFor({ hoverSelectorPrefix: '.is-true-hover ' }),
        autoprefixer({
            browsers: [
                "Chrome >= 45",
                "Firefox ESR",
                "Edge >= 12",
                "Explorer >= 10",
                "iOS >= 9",
                "Safari >= 9",
                "Android >= 4.4",
                "Opera >= 30"
            ]
        })//,
        //cssnano(),
    ];
    //Watch me get Sassy
    return gulp.src('./bulma/bulma.sass')
        .pipe(sourcemaps.init())
        .pipe(sass(sassOptions).on('error', sass.logError))
        .pipe(postcss(processors))
        .pipe(sourcemaps.write())
        .pipe(gulp.dest('./_site/assets/css/'));
});

// Compile Theme Scss
gulp.task('compile-scss', function () {
    var processors = [
        mq4HoverShim.postprocessorFor({ hoverSelectorPrefix: '.is-true-hover ' }),
        autoprefixer({
            browsers: [
                "Chrome >= 45",
                "Firefox ESR",
                "Edge >= 12",
                "Explorer >= 10",
                "iOS >= 9",
                "Safari >= 9",
                "Android >= 4.4",
                "Opera >= 30"
            ]
        })//,
        //cssnano(),
    ];
    //Watch me get Sassy
    return gulp.src('./scss/core.scss')
        .pipe(sourcemaps.init())
        .pipe(sass(sassOptions).on('error', sass.logError))
        .pipe(postcss(processors))
        .pipe(sourcemaps.write())
        .pipe(gulp.dest('./_site/assets/css/'));
});

// Compile Html
gulp.task('compile-html', function() {
    gulp.src('html/pages/**/*.html')
        .pipe(panini({
        root: 'html/pages/',
        layouts: 'html/layouts/',
        partials: 'html/includes/',
        helpers: 'html/helpers/',
        data: 'html/data/'
    }))
        .pipe(gulp.dest('_site'))
        .on('finish', browser.reload);
});

gulp.task('compile-html:reset', function(done) {
    panini.refresh();
    done();
});

// Compile css from node modules
gulp.task('compile-css', function() {
    return gulp.src([ 
        nodepath + 'slick-carousel/slick/slick.css',
        nodepath + 'slick-carousel/slick/slick-theme.css',
        nodepath + 'wallop/css/wallop.css',
        //Additional static css assets
        assetspath + 'css/icons.min.css',
    ])
        .pipe(concat('app.css'))
        .pipe(gulp.dest('./_site/assets/css/'));
});

// Compile js from node modules
gulp.task('compile-js', function() {
    return gulp.src([ 
        nodepath + 'jquery/dist/jquery.min.js', 
        nodepath + 'slick-carousel/slick/slick.min.js', 
        nodepath + 'scrollreveal/dist/scrollreveal.min.js',
        nodepath + 'waypoints/lib/jquery.waypoints.min.js',
        nodepath + 'waypoints/lib/shortcuts/sticky.min.js',
        nodepath + 'jquery.counterup/jquery.counterup.min.js',
        nodepath + 'wallop/js/Wallop.min.js',
        //Additional static js assets
        assetspath + 'js/ggpopover/ggpopover.min.js',
        assetspath + 'js/ggpopover/ggtooltip.js',
        assetspath + 'js/embed/embed.js',
        assetspath + 'js/gmap/gmap.min.js',
    ])
        .pipe(concat('app.js'))
        .pipe(gulp.dest('./_site/assets/js/'));
});

//Copy Theme js to production site
gulp.task('copy-js', function() {
    gulp.src('js/**/*.js')
        .pipe(gulp.dest('./_site/assets/js/'));
});

//Copy images to production site
gulp.task('copy-images', function() {
    gulp.src('images/**/*')
        .pipe(gulp.dest('./_site/assets/images/'));
});

gulp.task('init', ['setupBulma']);
gulp.task('build', ['clean','copy', 'compile-js', 'compile-css', 'copy-js', 'compile-sass', 'compile-scss', 'compile-html', 'copy-images']);
gulp.task('default', ['server', 'watch']);
trans by 2020-01-28T21:44:45Z

如何从另一个任务运行任务

我知道可以声明将在任务之前运行的依赖项的功能,例如

gulp.task('a', () => {});
gulp.task('b', () => {});
gulp.task('c', ['a', 'c'], () => {});

任务“ a”和“ b”将在每次调用任务“ c”之后且在执行任务“ c”之前运行。

但是,如何在gulp.task内以编程方式调用任意任务?

trans by 2020-01-19T21:31:43Z

Javascript-如何编写简单的Gulp Pipe函数?

我一直在尝试写两个管道函数,一个用于编译较少的文件,另一个用于合并这些文件。 我想学习如何为更复杂的插件编写转换流/管道。

因此,我想知道如何从另一个管道读取数据,以及如何更改该数据并将其发送到下一个管道。 这是我到目前为止所拥有的:

 gulp.src(sources)
   .pipe(through.obj(function (chunk, enc, cb) {

     var t = this;
     // console.log("chunk", chunk.path);
     fs.readFile(chunk.path, enc, function (err,data) {
       if (err) { cb(err); }

       less.render(data, {
         filename : chunk.path,
         sourceMap : {
           sourceMapRootpath : true
         }
       })
       .then(function (outputCss) {
          // console.log("less result",outputCss);
          t.push(chunk);// or this.push(outputCss) same result
          cb();
       });

     });

   }))
   .pipe(through.obj(function (chunk, enc, cb) {
     console.log("chunk", chunk.path); // not event getting called.
     cb();
   }))

对于第二个管道中的每个文件,我无法获取outputCSS。 如何发送?

trans by 2020-01-19T21:01:49Z

javascript-为什么我必须在gulp中使用Vinyl-source-stream?

我正在尝试使用gulp和browserify将我的Arguments to path.resolve must be strings文件转换为vinyl-source-stream文件。

var gulp = require('gulp');
var browserify = require('browserify');
var reactify = require('reactify');

gulp.task('js', function () {
  browserify('public/javascripts/src/app.jsx')
    .transform(reactify)
    .bundle()
    .pipe(gulp.dest('public/javascripts/dist'))
});

```

上面抛出了Arguments to path.resolve must be strings。我设法通过使用vinyl-source-stream来解决它

var source = require('vinyl-source-stream');
...
.bundle()
.source('app.js')
...

为什么这样做? 我对nodejs和gulp很陌生。 在阅读了该项目的自述文件和源代码之后,我仍然感到困惑。 有什么帮助吗?

trans by 2020-01-19T14:19:33Z

gulp-Gulpjs将两个任务合并为一个任务

我目前有两个任务,都可以编译sass文件。 我仍然想将两个目录合并到单独的文件中,但是如果我可以简单地创建一个负责所有sass编译的“ sass”任务,则似乎更易于维护。

// Compile Our Sass
gulp.task('bootstrap-sass', function() {
  return gulp.src('./public/bower/bootstrap-sass/lib/*.scss')
    .pipe(sass())
    .pipe(contact('bootstrap.css'))
    .pipe(gulp.dest('./public/dist/css'));
});

gulp.task('site-sass', function() {
  return gulp.src('./public/app/scss/*.scss')
    .pipe(sass())
    .pipe(contact('site.css'))
    .pipe(gulp.dest('./public/dist/css'));
});

更新:

我已经试过了:

// Compile Our Sass
gulp.task('sass', function() {
  var bootstrap = function() {
    return gulp
      .src('./public/bower/bootstrap-sass/lib/*.scss')
      .pipe(sass())
      .pipe(concat('bootstrap.css'))
      .pipe(gulp.dest('./public/dist/css'));
  };

  var site = function() {
    return gulp
      .src('./public/src/scss/*.scss')
      .pipe(sass())
      .pipe(concat('site.css'))
      .pipe(gulp.dest('./public/dist/css'));
  };

  return Promise.all([bootstrap, site]);
});

但是现在看来这两个文件都没有被编译。 对我做错了什么建议吗?

trans by 2020-01-15T10:35:39Z

1 2 3 4 下一页 共4页