首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >tsconfig.json中的gulp类型和tsconfig.json选项

tsconfig.json中的gulp类型和tsconfig.json选项
EN

Stack Overflow用户
提问于 2015-10-18 08:20:56
回答 3查看 8.5K关注 0票数 4

我使用gulpfile.js这样编译我的tsconfig.json项目:

代码语言:javascript
复制
var ts = require('gulp-typescript');

var tsProject = ts.createProject('Modeler/tsconfig.json',
    { typescript: require('typescript') });

gulp.task('build:ts', function () {
    var tsResult = tsProject.src()
        .pipe(ts(tsProject));
    return tsResult.pipe(gulp.dest('wwwroot/app'));
});

它工作正常,编译我的类型记录文件,并将js文件放入www.root/app文件夹中。

出现了问题,然后我希望TypeScript编译器使用outFile属性输出单个级联文件。

代码语言:javascript
复制
{
  "compilerOptions": {
    "noImplicitAny": false,
    "noEmitOnError": true,
    "removeComments": false,
    "sourceMap": true,
    "target": "es5",
    "module": "commonjs",
    "outFile": "modeler.js"
  },
  "exclude": [
    "node_modules",
    "wwwroot"
  ]  
}

gulp任务确实创建了一个空的输出文件,并创建了内容位于*.ts文件旁边的*.js文件。

如何在不污染源文件夹的情况下创建所需的输出文件?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-10-18 16:26:03

您确定您的TypeScript源中没有外部模块吗?

在这种情况下,我也遇到过类似的行为。使用outFile选项时不允许外部模块,但编译器不会抱怨并释放空文件。此外,外部模块应该发出“某处”(在outDir中)。

如果问题与使用普通tsc -p .的外部模块无关,则使用gulp-typescript的行为方式相同。

票数 7
EN

Stack Overflow用户

发布于 2015-10-19 06:57:25

为此,我建议使用吞咽。做不止一件事情的杯杯套餐违背了Gulp的原则。

代码语言:javascript
复制
var concat = require('gulp-concat');

gulp.task('scripts', function() {
  return gulp.src('./lib/*.js')
    .pipe(concat('all.js'))
    .pipe(gulp.dest('./dist/'));
});
票数 3
EN

Stack Overflow用户

发布于 2015-10-18 09:16:59

我相信这就是TypeScript编译器的TypeScript选项。请参见https://github.com/Microsoft/TypeScript/wiki/Compiler-Options,并请查看gulp 文档,它指定:

outDir (字符串)-将输出移到另一个(虚拟)目录。请注意,您仍然需要gulp.dest将输出写入磁盘。

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

https://stackoverflow.com/questions/33195766

复制
相关文章

相似问题

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