标签: gulp

Task Runner Explorer无法加载任务

我正在使用VS2015和Gulp.我打开Task Runner Explorer并点击刷新,这显示在日志中:

Failed to run "C:\Projects\Test\Gulpfile.js"...
cmd.exe /c gulp --tasks-simple
Error: `libsass` bindings not found in C:\Projects\Test\node_modules\gulp-sass\node_modules\node-sass\vendor\win32-ia32-11\binding.node. Try reinstalling `node-sass`?
    at Object.sass.getBinaryPath (C:\Projects\Test\node_modules\gulp-sass\node_modules\node-sass\lib\extensions.js:148:11)
    at Object.<anonymous> (C:\Projects\Test\node_modules\gulp-sass\node_modules\node-sass\lib\index.js:16:36)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at Object.<anonymous> (C:\Projects\Test\node_modules\gulp-sass\index.js:163:21)
    at Module._compile (module.js:456:26)
Run Code Online (Sandbox Code Playgroud)

所以我尝试cmd.exe /c gulp --tasks-simple在PowerShell中运行,在同一目录中,它工作正常 - 它返回一个任务列表.

我也能很好地运行与SASS相关的任务,所以我不确定为什么在通过VS运行而不是直接在命令行上运行SASS时会抱怨它.

visual-studio gulp gulp-sass vs-2015-preview task-runner-explorer

101
推荐指数
2
解决办法
3万
查看次数

Javascript:在gulpfile.js中获取package.json数据

不是gulp特定的问题本身,但如何从gulpfile.js中的package.json文件获取信息; 例如,我想获取主页或名称并在任务中使用它.

javascript gulp

98
推荐指数
3
解决办法
4万
查看次数

使用Gulp.js和globbing模式修改文件(相同的dest)

我有一个gulp任务,试图将.scss文件转换为.css文件(使用gulp-ruby-sass),然后将生成的.css文件放在它找到原始文件的同一个地方.问题是,因为我使用的是通配模式,所以我不一定知道原始文件的存储位置.

在下面的代码中,我试图使用gulp-tap来点击流并找出当前文件的文件路径,从中读取流:

gulp.task('convertSass', function() {
    var fileLocation = "";
    gulp.src("sass/**/*.scss")
        .pipe(sass())
        .pipe(tap(function(file,t){
            fileLocation = path.dirname(file.path);
            console.log(fileLocation);
        }))
        .pipe(gulp.dest(fileLocation));
});
Run Code Online (Sandbox Code Playgroud)

根据输出console.log(fileLocation),这段代码看起来应该可以正常工作.但是,生成的CSS文件似乎放在一个比我预期的更高的目录中.它应该在哪里project/sass/partials,结果文件路径就是project/partials.

如果有一个更简单的方法,我肯定会更加欣赏这个解决方案.谢谢!

javascript sass node.js gulp

98
推荐指数
3
解决办法
5万
查看次数

使用gulp选择并移动目录及其文件

我目前正在使用gulp来调用bash脚本来清理我的dist/目录并将相应的文件移动到clean目录.我希望这可以用gulp完成,因为我不确定该脚本是否可以在非*nix文件系统上运行.
到目前为止,我正在使用gulp-clean模块来清理dist/目录,但是当我尝试将所需目录及其文件移动到dist文件夹时,目录为空.

var gulp = require('gulp'),
    clean = require('gulp-clean');

gulp.task('clean', function(){
  return gulp.src(['dist/*'], {read:false})
  .pipe(clean());
});

gulp.task('move',['clean'], function(){
  gulp.src(['_locales', 'icons', 'src/page_action', 'manifest.json'])
  .pipe(gulp.dest('dist'));
});

gulp.task('dist', ['move']);
Run Code Online (Sandbox Code Playgroud)

调用带有正确目录gulp distdist/目录中的结果,但它们都是空的

$ ls dist/*
dist/manifest.json

dist/_locales:

dist/icons:

dist/page_action:
Run Code Online (Sandbox Code Playgroud)

如何将目录及其内容复制到该dist/文件夹?

glob node.js gulp

96
推荐指数
2
解决办法
7万
查看次数

gulp.run已弃用.我如何撰写任务?

这是一个组合任务,我不知道如何用任务依赖项替换它.

...
gulp.task('watch', function () {
 var server = function(){
  gulp.run('jasmine');
  gulp.run('embed');
 };
 var client = function(){
  gulp.run('scripts');
  gulp.run('styles');
  gulp.run('copy');
  gulp.run('lint');
 };
 gulp.watch('app/*.js', server);
 gulp.watch('spec/nodejs/*.js', server);
 gulp.watch('app/backend/*.js', server);
 gulp.watch('src/admin/*.js', client);
 gulp.watch('src/admin/*.css', client);
 gulp.watch('src/geojson-index.json', function(){
  gulp.run('copygeojson');
 });
});
Run Code Online (Sandbox Code Playgroud)

相应的更改日志 https://github.com/gulpjs/gulp/blob/master/CHANGELOG.md#35 [弃用gulp.run]

javascript gulp

96
推荐指数
6
解决办法
9万
查看次数

Gulp错误:监视任务必须是一个功能

这是我的gulpfile:

// Modules & Plugins
var gulp = require('gulp');
var concat = require('gulp-concat');
var myth = require('gulp-myth');
var uglify = require('gulp-uglify');
var jshint = require('gulp-jshint');
var imagemin = require('gulp-imagemin');

// Styles Task
gulp.task('styles', function() {
    return gulp.src('app/css/*.css')
        .pipe(concat('all.css'))
        .pipe(myth())
        .pipe(gulp.dest('dist'));
});

// Scripts Task
gulp.task('scripts', function() {
    return gulp.src('app/js/*.js')
        .pipe(jshint())
        .pipe(jshint.reporter('default'))
        .pipe(concat('all.js'))
        .pipe(uglify())
        .pipe(gulp.dest('dist'));
});

// Images Task
gulp.task('images', function() {
    return gulp.src('app/img/*')
        .pipe(imagemin())
        .pipe(gulp.dest('dist/img'));
});

// Watch Task
gulp.task('watch', function() {
    gulp.watch('app/css/*.css', 'styles');
    gulp.watch('app/js/*.js', 'scripts');
    gulp.watch('app/img/*', 'images');
});

// …
Run Code Online (Sandbox Code Playgroud)

javascript gulp

96
推荐指数
3
解决办法
4万
查看次数

为什么gulp.src不喜欢传递一个完整的文件路径数组?

我正在尝试传递gulp.src我想要它处理的文件数组.这是阵列的原样.

['bower_components/jquery/jquery.js',
 'bower_components/superscrollorama/js/greensock/TweenMax.min.js',
 'bower_components/superscrollorama/jquery.superscrollorama.js' ]
Run Code Online (Sandbox Code Playgroud)

我发现gulp.src似乎并不喜欢这样,第三个元素没有通过最终目的地.

当我引入一些像这样的通配符时,我发现一切正常:

['bower_components/**/jquery.js',
 'bower_components/**/js/greensock/TweenMax.min.js',
 'bower_components/**/jquery.superscrollorama.js' ]
Run Code Online (Sandbox Code Playgroud)

但为什么?与globbing的工作方式有关吗?我用Google搜索但无法找到答案.

也许这不是globbing的预期目的,但它对我来说没有意义,它应该以这种方式工作.任何人都能解释一下吗?

arrays glob node.js gulp

93
推荐指数
1
解决办法
5万
查看次数

寻找在gulp中复制文件并根据父目录重命名的方法

对于每个模块,我有一些文件需要复制到构建目录,我正在寻找一种方法来最小化重复的代码:

gulp.src('./client/src/modules/signup/index.js')
  .pipe(gulp.dest('./build/public/js/signup'));

gulp.src('./client/src/modules/admin/index.js')
  .pipe(gulp.dest('./build/public/js/admin'));
Run Code Online (Sandbox Code Playgroud)

这样的事情:

gulp.src('./client/src/modules/(.*)/index.js')
  .pipe(gulp.dest('./build/public/js/$1'));
Run Code Online (Sandbox Code Playgroud)

显然上面的方法不起作用,有没有办法做到这一点,或者已经这样做的npm?

谢谢

node.js gulp

91
推荐指数
3
解决办法
8万
查看次数

安装后找不到Gulp命令

我安装了gulp(全局),它看起来很有效,因为它运行了这段代码:

??? tildify@0.2.0
??? interpret@0.3.5
??? pretty-hrtime@0.2.1
??? deprecated@0.0.1
??? archy@0.0.2
??? minimist@0.2.0
??? semver@2.3.2
??? orchestrator@0.3.7 (stream-consume@0.1.0, sequencify@0.0.7, end-of-stream@0.1.5)
??? chalk@0.5.1 (escape-string-regexp@1.0.1, ansi-styles@1.1.0, supports-color@0.2.0, strip-ansi@0.3.0, has-ansi@0.1.0)
??? gulp-util@2.2.20 (lodash._reinterpolate@2.4.1, dateformat@1.0.8-1.2.3, vinyl@0.2.3, through2@0.5.1, multipipe@0.1.1, lodash.template@2.4.1)
??? liftoff@0.12.0 (extend@1.2.1, minimist@0.1.0, resolve@0.7.4, findup-sync@0.1.3)
??? vinyl-fs@0.3.5 (graceful-fs@3.0.2, lodash@2.4.1, mkdirp@0.5.0, strip-bom@0.3.1, vinyl@0.2.3, through2@0.5.1, glob-watcher@0.0.6, glob-stream@3.1.14)
Run Code Online (Sandbox Code Playgroud)

但是当我打字gulp时说-bash: gulp: command not found

知道发生了什么事吗?

macos bash terminal npm gulp

91
推荐指数
5
解决办法
10万
查看次数

使用Grunt,Bower,Gulp,NPM和Visual Studio 2015 for ASP.NET 4.5项目

Visual Studio 2015内置支持Grunt,Bower,Gulp和NPM for ASP.NET 5项目等工具.

但是,当我使用Visual Studio 2015创建ASP.NET 4.5.2项目时,它不使用这些工具.我想使用bower而不是nuget来管理客户端软件包.

我可以在Visual Studio 2013中找到有关使用这些工具的信息(例如,请参阅问题).但我想Visual Studio 2015的程序是不同的,因为它内置了对这些工具的支持.

asp.net asp.net-4.5 bower gulp visual-studio-2015

90
推荐指数
1
解决办法
3万
查看次数