我在Windows上使用NodeJS v4.2.1.
我在底部包含了我的gulpfile.js,bower.json和package.json文件.
gulpfile.js吗?NodeJS v4.2.1吗?我gulp在命令提示符下运行时遇到这两个问题.
我build跑的时候不会每隔一段时间创建我的文件夹gulp.
当我第一次运行它时,它会创建build具有copy-bowerGulp任务输出工件的文件夹.
当我再次运行它时,build文件夹不会被创建.
吞气控制台输出清楚地表明我的copy-bower任务运行后的clean任务,但我没有看到build文件夹中创建.
[21:21:32] Using gulpfile
[21:21:32] Starting 'clean'...
[21:21:32] Finished 'clean' after 3.66
[21:21:32] Starting 'copy-bower'...
[21:21:32] Finished 'copy-bower' after
[21:21:32] Starting 'default'...
[21:21:32] Finished 'default' after 6.
Directory: C:\Users\stun\Desktop\test-app
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 10/22/2015 9:00 PM bower_components
d----- 10/22/2015 8:59 PM node_modules
-a---- 10/22/2015 9:30 PM 347 bower.json
-a---- 10/22/2015 9:31 PM 421 gulpfile.js
-a---- 10/22/2015 9:30 PM 301 package.json
Run Code Online (Sandbox Code Playgroud)
我不时会得到其中一个错误.
events.js:141
throw er; // Unhandled 'error' event
^
Error: ENOENT: no such file or directory, chmod 'C:\Users\stun\Desktop\test-app\build\bower_components\jquery\dist\jquery.min.map'
at Error (native)
Run Code Online (Sandbox Code Playgroud)
另一个错误
events.js:141
throw er; // Unhandled 'error' event
^
Error: ENOENT: no such file or directory, stat 'C:\Users\stun\Desktop\test-app\build\bower_components\bootstrap\dist\fonts'
at Error (native)
Run Code Online (Sandbox Code Playgroud)
var gulp = require('gulp'),
del = require('del');
gulp.task('clean', function () {
del(['build']);
});
gulp.task('copy-bower', ['clean'], function () {
var src = [
'./bower_components/bootstrap/dist/**',
'./bower_components/jquery/dist/*'
];
gulp.src(src, { base: '.' })
.pipe(gulp.dest('./build/'));
});
gulp.task('default', ['copy-bower'], function () { });
Run Code Online (Sandbox Code Playgroud)
{
"name": "test-app",
"description": "testing gulp and bower",
"main": "",
"moduleType": [],
"authors": [""],
"license": "MIT",
"homepage": "",
"private": true,
"ignore": [
"**/.*",
"node_modules",
"bower_components",
"test",
"tests"
],
"dependencies": {
"bootstrap": "~3.3.5"
}
}
Run Code Online (Sandbox Code Playgroud)
{
"name": "test-app",
"version": "1.0.0",
"description": "testing gulp and bower",
"main": "",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"devDependencies": {
"del": "^2.0.2",
"gulp": "^3.9.0"
}
}
Run Code Online (Sandbox Code Playgroud)
Lou*_*uis 45
您的任务不会返回任何内容或调用任何回调,因此Gulp认为您的任务是立即完成的.特别是,clean在开始复制bower文件之前,它不会等待您的任务完成其工作.这两者可能会发生冲突并导致文件系统错误.
将您的代码更改为:
var gulp = require('gulp'),
del = require('del');
gulp.task('clean', function () {
// Return the promise that del produces.
return del(['build']);
});
gulp.task('copy-bower', ['clean'], function () {
var src = [
'./bower_components/bootstrap/dist/**',
'./bower_components/jquery/dist/*'
];
// Return your stream.
return gulp.src(src, { base: '.' })
.pipe(gulp.dest('./build/'));
});
gulp.task('default', ['copy-bower'], function () { });
Run Code Online (Sandbox Code Playgroud)
如果输出显示一个任务在前一个任务完成之前就开始了(特别是"干净"),就像这样(参见'clean'结束前的'build'):
[08:32:07] Using gulpfile ~/project/gulpfile.js
[08:32:07] Starting 'clean'...
[08:32:07] Starting 'build'...
[08:32:07] Finished 'clean' after 14 ms
[08:32:07] Finished 'build' after 15.53 ms
Run Code Online (Sandbox Code Playgroud)
使用这些技术来修复它:
正如@Louis所写,转过来:
del = require('del');
gulp.task('clean', function () {
del(['build']);
});
Run Code Online (Sandbox Code Playgroud)
进入这个:
del = require('del');
gulp.task('clean', function () {
return del(['build']); // see "return"
});
Run Code Online (Sandbox Code Playgroud)
转过来:
gulp.task('build', function () {
// some code...
});
Run Code Online (Sandbox Code Playgroud)
对此:
gulp.task('build', ['clean'], function () { // see 'clean' as dependency
// some code...
});
Run Code Online (Sandbox Code Playgroud)
转过来:
gulp.task('default', ['build', 'serve', 'watch']);
Run Code Online (Sandbox Code Playgroud)
进入这个:
gulp.task('default', ['build'], function () {
gulp.start(['serve', 'watch']); // starts only after 'build'
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15972 次 |
| 最近记录: |