Javascript 大口大口喝不到';不能结合或丑陋

Javascript 大口大口喝不到';不能结合或丑陋,javascript,gulp,Javascript,Gulp,我似乎已经将Gulp配置为在Netbeans中运行。我的目标是让gulp简单地将一个目录中的所有Javascript文件合并到一个文件中,然后“uglify”生成的文件 当我保存一个Javascript文件时,会创建一个新的Javascript文件,但它不会与任何其他文件合并,也不会被丑化。我没有收到任何错误消息,但也没有得到任何期望的结果。我哪里做错了 这是我的gulpfile.js: var gulp = require('gulp'), gp_concat = require('g

我似乎已经将Gulp配置为在Netbeans中运行。我的目标是让gulp简单地将一个目录中的所有Javascript文件合并到一个文件中,然后“uglify”生成的文件

当我保存一个Javascript文件时,会创建一个新的Javascript文件,但它不会与任何其他文件合并,也不会被丑化。我没有收到任何错误消息,但也没有得到任何期望的结果。我哪里做错了

这是我的gulpfile.js:

var gulp = require('gulp'),
    gp_concat = require('gulp-concat'),
    gp_rename = require('gulp-rename'),
    gp_uglify = require('gulp-uglify');

gulp.task('combine', function(){
    return gulp.src(['*.js'])
        .pipe(gp_concat('concat.js'))
        .pipe(gulp.dest('dist'))
        .pipe(gp_rename('uglify.js'))
        .pipe(gp_uglify())
        .pipe(gulp.dest('dist'));
});

gulp.task('default', ['combine'], function(){});
这是我的package.json:

{
    "name": "xxxxxxxxxxxxxxxxxx",
    "version": "1.0.0",
    "keywords": ["util", "functional", "server", "client", "browser"],
    "author": "xxxxxxxxxxxxxxxxxx",
    "contributors": [],
    "dependencies": {},
    "scripts" :
    {
        "watch" : "watchify ../../html/xxxxxxxxxxxxxxxxxx/js/*.js -o ../../html/xxxxxxxxxxxxxxxxxx/bundle.js -v"
    }
}
请注意,这些是我从Stack Overflow和web中其他地方的示例中复制的文件,因此我确信我遗漏了一些东西


最新更新:

我现在正在使用这个修改过的Gulp文件,并更正了目录路径:

var gulp = require('gulp'),
    expect = require('gulp-expect-file'),
    concat = require('gulp-concat'),
    minify = require('gulp-minify'),
    gutil = require('gulp-util'),
    babel = require('gulp-babel'),
    jsFiles = '../../html/public_html/js/*.js',
    jsDest = '../../public_html/dist';

gulp.task('combine', function ()
{
    return gulp.src(jsFiles)
        .pipe(expect(jsFiles))
        .pipe(babel({presets: ['babili']}))
        .pipe(concat('concat.js'))
        .pipe(minify().on('error', gutil.log))
        .pipe(gulp.dest(jsDest));
});
当我运行它时,我仍然没有在我的
dist/
文件夹中得到任何结果组合文件

我现在得到这个错误输出:

[11:53:13] Using gulpfile ~\Documents\NetBeansProjects\Project_Name\gulpfile.js
[11:53:13] Starting 'combine'...
[11:53:13] Tested 5 tests, 5 passes, 0 failures: PASS
Done.

events.js:160
      throw er; // Unhandled 'error' event
      ^
SyntaxError: ..\..\html\html\public_html\js\*.js
Unexpected token: operator (>) (line: 30, col: 34, pos: 95518
    at JS_Parse_Error.get (eval at <anonymous> (C:\Users\Project Username\Documents\NetBeansProjects\Project_Name\node_modules\uglify-js\tools\node.js:27:1), <anonymous>:86:23)
    at PluginError.<anonymous> (C:\Users\Project Username\Documents\NetBeansProjects\Project_Name\node_modules\gulp-util\lib\PluginError.js:37:60)
    at Array.forEach (native)
    at new PluginError (C:\Users\Project Username\Documents\NetBeansProjects\Project_Name\node_modules\gulp-util\lib\PluginError.js:36:16)
    at Transform.minify [as _transform] (C:\Users\Project Username\Documents\NetBeansProjects\Project_Name\node_modules\gulp-minify\index.js:117:23)
    at Transform._read (C:\Users\Project Username\Documents\NetBeansProjects\Project_Name\node_modules\through2\node_modules\readable-stream\lib\_stream_transform.js:184:10)
    at Transform._write (C:\Users\Project Username\Documents\NetBeansProjects\Project_Name\node_modules\through2\node_modules\readable-stream\lib\_stream_transform.js:172:12)
    at doWrite (C:\Users\Project Username\Documents\NetBeansProjects\Project_Name\node_modules\through2\node_modules\readable-stream\lib\_stream_writable.js:237:10)
    at writeOrBuffer (C:\Users\Project Username\Documents\NetBeansProjects\Project_Name\node_modules\through2\node_modules\readable-stream\lib\_stream_writable.js:227:5)
    at Transform.Writable.write (C:\Users\Project Username\Documents\NetBeansProjects\Project_Name\node_modules\through2\node_modules\readable-stream\lib\_stream_writable.js:194:11)
[11:53:13]使用gulpfile~\Documents\NetBeansProjects\Project\u Name\gulpfile.js
[11:53:13]启动“联合收割机”。。。
[11:53:13]测试了5次测试,5次通过,0次失败:通过
完成。
events.js:160
投掷者;//未处理的“错误”事件
^
语法错误:..\..\html\html\public\u html\js\*.js
意外令牌:操作员(>)(行:30,列:34,位置:95518
在JS\u Parse\u Error.get(在(C:\Users\Project Username\Documents\NetBeansProjects\Project\u Name\node\u modules\uglify JS\tools\node.JS:27:1),:86:23)处求值
位于PluginError。(C:\Users\Project Username\Documents\NetBeansProjects\Project\u Name\node\u modules\gulp util\lib\PluginError.js:37:60)
at Array.forEach(本机)
在新的PluginError(C:\Users\Project Username\Documents\NetBeansProjects\Project\u Name\node\u modules\gulp util\lib\PluginError.js:36:16)
在Transform.minify[as _Transform](C:\Users\Project Username\Documents\NetBeansProjects\Project\u Name\node\u modules\gulp minify\index.js:117:23)
转换时读取(C:\Users\Project Username\Documents\NetBeansProjects\Project\u Name\node\u modules\through2\node\u modules\readable stream\lib\\u stream\u Transform.js:184:10)
在转换时写入(C:\Users\Project Username\Documents\NetBeansProjects\Project\u Name\node\u modules\through2\node\u modules\readable stream\lib\\u stream\u Transform.js:172:12)
在doWrite(C:\Users\Project Username\Documents\NetBeansProjects\Project\u Name\node\u modules\through2\node\u modules\readable stream\lib\ stream\u writeable.js:237:10)
在writeOrBuffer(C:\Users\Project Username\Documents\NetBeansProjects\Project\u Name\node\u modules\through2\node\u modules\readable stream\lib\\u stream\u writeable.js:227:5)
在Transform.writeable.write(C:\Users\Project Username\Documents\NetBeansProjects\Project\u Name\node\u modules\through2\node\u modules\readable stream\lib\\u stream\u writeable.js:194:11)
试试这个

var gulp = require('gulp'),
    expect = require('gulp-expect-file'),
    concat = require('gulp-concat'),
    minify = require('gulp-minify');

gulp.task('combine', function() {
    var files = ['*.js'];
    gulp.src(files)
        .pipe(expect(files))
        .pipe(concat('concat.js'))
        .pipe(minify())
        .pipe(gulp.dest('dist/'));
});
```

您还应该将以下行
“gulp minify”:“0.0.14”
“gulp expect file”:“0.0.7”
添加到
包.json的
devdependency


我不确定,但似乎模式
***
(任何文件夹)在gulp中不起作用。因此,您的模式
*.js
将只在根文件夹中搜索扩展名为
js
的文件。

非常感谢您的响应。我正在使用您的代码,当我运行
合并
功能时,我没有收到任何错误。但是,
dist/
目录中没有显示任何合并文件。我已经更新了我的q继续输入您的代码和结果。@提问者很可能您的模式
*.js
与任何文件都不匹配。在这种情况下,将不会在目标中生成任何文件。感谢您的跟进。当您说
*.js
与任何文件都不匹配时,您的意思是在Gulp中使用通配符是无效的吗?还是你的意思是,从某种意义上说,目录可能找不到?如果是后者,我是否应该得到某种错误消息?@Questioner Gulp支持通配符。但我认为你使用的模式与项目中的任何文件都不匹配。你可以试试这个
Gulp.src('./js/*.js').pipe(concat('concat.js'))…
rest与您的代码一样。而且gulp任务应该有return,即在
gulp src(…)…
@RajeshDan之前添加
return
@RajeshDan,谢谢您的建议。我按照您的建议修改了代码,但不幸的是,我仍然没有得到任何组合文件。然后请确保路径(源和目标)是正确的,没有权限问题!有时可能会发生。你还可以共享目录结构吗?这可能会帮助我们帮助你!@RajeshDan,我会在回答中包括目录结构,请给我几分钟时间来整理。但是,如果找不到文件,我会这样说吗?我是否可以打开详细错误报告以查看这是否是问题所在?