Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 我如何结合两个吞咽任务_Angularjs_Typescript_Gulp_Gulp Concat - Fatal编程技术网

Angularjs 我如何结合两个吞咽任务

Angularjs 我如何结合两个吞咽任务,angularjs,typescript,gulp,gulp-concat,Angularjs,Typescript,Gulp,Gulp Concat,我正在使用gulp编译我的typescript文件并创建output.js文件 是否可以有一个单一的任务来编译typescript文件并将其与angular库连接起来 下面是我当前文件的外观(如下)。首先,它运行一个typescript任务,创建output.js文件,然后它运行一个脚本任务,包含脚本插件文件和output.js 'use strict'; var gulp = require('gulp') var paths = { distScriptsDir: '../../The

我正在使用
gulp
编译我的typescript文件并创建
output.js
文件

是否可以有一个单一的任务来编译typescript文件并将其与angular库连接起来

下面是我当前文件的外观(如下)。首先,它运行一个typescript任务,创建
output.js
文件,然后它运行一个脚本任务,包含脚本插件文件和
output.js

'use strict';
var gulp = require('gulp')

var paths = {
  distScriptsDir: '../../Themes/mastter/Scripts',
  srcScriptsPlugins: [
    'node_modules/jquery/dist/jquery.min.js',
    'node_modules/angular/angular.min.js',
    'node_modules/angular-route/angular-route.min.js',
    'node_modules/angular-translate/dist/angular-translate.min.js',
    'node_modules/angular-translate/dist/angular-translate-loader-url/angular-translate-loader-url.min.js',
    'node_modules/angular-bootstrap/dist/ui-bootstrap-tpls.js',
    'Scripts/angular-sticky.min.js',
    'Scripts/dragme.js',
    'Scripts/jasny-bootstrap.min.js',
    'node_modules/lodash/dist/lodash.min.js',
    'node_modules/angular-google-maps/dist/angular-google-maps.min.js'
  ],
  srcScriptsFile: [
    'output.js'
  ]
};


//typescript
gulp.task('typescript', function () {
  var ts = require('gulp-typescript');
  var tsResult = gulp.src( 'all.ts')
    .pipe(ts({
      noImplicitAny: true,
      out: 'output.js'
    }));
  return tsResult.js.pipe(gulp.dest(''));
});

// scripts task
gulp.task('scripts', function () {

  var concat = require('gulp-concat'),
      plumber = require('gulp-plumber'),
      uglify = require('gulp-uglify');

  return gulp.src(paths.srcScriptsPlugins.concat(paths.srcScriptsFile))
    .pipe(plumber({
      errorHandler: function (e) {
          console.log(e.toString());
          this.emit('end');
      }
    }))
  //    .pipe(uglify())
  .pipe(concat('main.js'))
  .pipe(gulp.dest(paths.distScriptsDir));

});

// default task
gulp.task('default', [
 'typescript',
  'scripts'
 ]);

我使用一个手表任务来完成这个任务,里面有一大堆的
gulp.watch
。一个用于监视.ts的更改并运行typescript编译器,该编译器将在任何位置输出js文件,另一个用于监视.js文件并运行脚本任务。在这种情况下,手表将使事情自动化,您不必将任务合并到一个任务中

gulp.task('watch', function() {
    gulp.watch(['dir/*.ts','otherdir/*.ts',...], ['typescript']);
    gulp.watch(['dir/*.js','otherdir/*.js',...], ['scripts']); //make sure to include the .ts result folder...
});
试试看。下面是一个简单的例子

gulp.task('task1',函数(回调){
setTimeout(函数(){
console.log('task1已完成');
回调函数()
}, 1000);
});
gulp.task('task2',函数(回调){
setTimeout(函数(){
console.log('task2已完成');
回调函数()
}, 2000);
});
gulp.task('tk12',函数(回调){
返回运行序列('task1','task2',回调);
});