首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从gulp typescript js流中拆分src和test文件

从gulp typescript js流中拆分src和test文件
EN

Stack Overflow用户
提问于 2016-01-23 13:18:42
回答 1查看 366关注 0票数 1

我正在尝试使用gulp-typescript来编译我的typescript代码。我想将测试发送到名为“*.spec.js”的文件夹中,而我正在尝试将其余内容发送到名为"dist“的文件夹中。我正在尝试测试,但是我所有的编译文件都以“follow this example”结尾,而不是我想要的结果。

这是我的gulp任务文件:

代码语言:javascript
复制
var gulp = require('gulp');
var ts = require('gulp-typescript');
var merge2 = require('merge2');    
var config = require('../gulp.config');
var concat = require('gulp-concat');
var debug = require('gulp-debug');
var path = require('path');
var filter = require('gulp-filter');

var tsproj = ts.createProject(config.files.tsconfig);
gulp.task('typescript:src', function(){
    var testFilter = filter(['src/**/*.spec.ts'], {restore: true, passthrough: false});
    var compileStream = gulp
        .src(['src/**/*.ts', '!src/client/jspm_packages/**'])
        .pipe(ts(tsproj));
        
    var tsd = compileStream
        .dts
        .pipe(concat(path.basename(config.files.srcDefinitions)))
        .pipe(gulp.dest(config.paths.typings));
        
    var js = compileStream
        .js
        .pipe(testFilter)
        .pipe(gulp.dest('dist'));
        
    var tests = testFilter.restore.pipe(gulp.dest('test'));
        
    return merge2([tsd, js, tests]);
});

有人知道我做错了什么吗?

--谢谢

EN

回答 1

Stack Overflow用户

发布于 2016-01-23 16:03:38

我认为你可以通过这样做来归档你想要的东西:

代码语言:javascript
复制
//Copy specs
gulp.src(['dest/**/*.spec.js'])
    .pipe(gulp.dest('dest/test'));

//Delete
del.sync(['dest/**/*.spec.js']);

其中'dest‘-是js编译文件的目标输出文件夹。

作为一个侧面不-我真的不明白你为什么要这样做。通过移动生成的js文件,很可能会中断它们与应用程序其余部分之间的导入(如果有的话)。例如,如果您的spec.ts文件中包含类似以下内容:

代码语言:javascript
复制
import {F} from '../core/Commons';

将其复制到'test‘子目录后,它将无法工作,因为路径'../core/Commons’将变为无效。

相反,您应该从一开始就将所有规范文件放在'test‘文件夹中,ts编译器将执行将js输出放入目标文件夹中的'test’目录的工作。

希望这能有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34959922

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档