如何从gulpfile.js调用typescript方法

时间:2017-04-04 11:14:38

标签: typescript gulp

我有一个项目,我的gulpfile.js相当复杂,因此我想将一些代码分解为typescript

如何从gulpfile.js中调用打字稿代码?

2 个答案:

答案 0 :(得分:1)

我们可以看看打字稿背后的开发团队是如何做到的:

  1. 这是gulpfile.ts - 它的打字稿 - 完美!

  2. 以下是package.json - 请注意ts-node的用法 - 这是解决方案的关键。

  3. 基本上就是这样。

答案 1 :(得分:0)

从一开始就使用gulpclass可能更容易,但这就是我争吵的方式:

<强> config.ts

export function getString() : string
{  
    return "getString() worked!";
}

class Animal{
    legs : number = 4;
    Sound():string{return "Woof!"}
}

export var dog = new Animal();

<强> tsconfig.json

{
    "include": [
        "./src/**/*.ts"
    ],
    "exclude": [
        "node_modules",
        "**/*.spec.ts"
    ],
    "compilerOptions": {
        "noImplicitAny": true,
        "target": "es5",
        "module": "commonjs",
        "outDir" :"./src",
    }
}

<强> gulpfile.js

var gulp = require('gulp')
var config = require("./src/config.js");

gulp.task('default', function () {
    console.log(config.getString());
    console.log(config.dog.Sound());
    console.log(config.dog.legs);
});

<强>输出

[21:03:43] Starting 'default'...
getString() worked!
Woof!
4

备注

  • commonjs模块设置是关键
  • gulp文件正在编译* .ts(此处未显示),这意味着当前gulp总是加载一个版本的tsc太旧了。 gulpclass使用transile语法
  • 可能会更好