首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >打字稿输出顺序-用tsconfig.json等效于tsc

打字稿输出顺序-用tsconfig.json等效于tsc
EN

Stack Overflow用户
提问于 2016-02-08 16:51:19
回答 1查看 1.6K关注 0票数 4

给定一个tsconfig文件并使用命令行tsc,一切都按其应有的方式工作。但是,使用指定的gulp-typescript和指定的tsconfig.jsonoutFile会产生不同的输出顺序--我的问题是,我找不到一种方法来生成与tsc相同的javascript。

我们的构建工作流程是基于gulp的;但是tsc是黄金标准,具有很好的手表功能,并且具有广泛的工具支持(如http://dev.ivogabe.com/using-vscode-with-gulp-typescript/)。如果我能让我们以吞咽为基础的构建工作与tsc一样,那就太好了。

示例tsconfig.json

代码语言:javascript
复制
{
  "compilerOptions": {
    "declaration": false,
    "preserveConstEnums": true,
    "outFile": "out/out.js",
    "sourceMap": true,
    "target": "es5",
    "noEmitOnError": true
  },
  "exclude": [
    "node_modules",
    "out"
  ]
}

示例gulpfile.js

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

var tsProject = typescript.createProject('tsconfig.json');

gulp.task('typescript:compile', function () {
    var tsResult = tsProject.src()
        .pipe(typescript(tsProject));

    return tsResult.js.pipe(gulp.dest('out'));
});
gulp.task('default', ['typescript:compile']);

同样,我的问题是tsc与上面的tsconfig.jsongulp与上面的gulpfile.jstsconfig.json (使用gulp-typescript)产生不同的输出顺序为一个不平凡的目录的类型记录文件。开发人员应该能够任意地在这两个构建过程之间切换,并且仍然相信他们不会错过一个输出排序错误。

我不理解用于tscgulp-typescript的输出排序规则之间的区别,因此我无法为这个问题创建一个简单的repro案例。但理想情况下,当使用tsconfig项目时,gulp-typescript将使用与tsc相同的顺序。

我可以通过使用“子进程”.exec来调用tsc来解决这个问题,但是gulp-typescript有更好的gulp集成;我也可以使用任何其他gulp插件直接调用类型记录编译器(并使用tsconfig.json项目文件),但我一直找不到。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-08 23:45:32

我的问题是我找不到像tsc那样生成相同javascript的方法

TypeScript有一个通过以下方式进行排序的内部实现:

  • 在命令行中传递的文件顺序。如果您是tsconfig,则这与此无关。
  • 检测文件的顺序。由于您使用的是tsconfig,它将从第一个文件开始,然后通过referencesimport指令对其他文件进行排序。

注意: API使用者(如gulp)无法使用这一功能。而且,即使只使用tschttps://github.com/TypeStrong/atom-typescript/blob/master/docs/out.md,这也可能导致问题。

所以使用外部模块:https://basarat.gitbooks.io/typescript/content/docs/project/modules.html

下面是一个快速启动:https://basarat.gitbooks.io/typescript/content/docs/quick/browser.html

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

https://stackoverflow.com/questions/35274909

复制
相关文章

相似问题

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