2016-04-03 32 views
1

gulp-typescriptをある程度成功させようとしていますが、少し問題があります。私のすべてのコードは 'src'の下に保存されていますが、 'src'がインクルードされていない状態で、これらを '.tmp'にコンパイルします。ここgulp-typescript:createProjectを使用した場合の問題

は私のコードですが、私は私が例

ため/.tmp/src/aTypescriptFile.jsにこのコードを取得する問題がtsProject.srcに(グロブ)の値を渡すがそのようにサポートされていないことだと思います私が実際に理解していないのは、gulp.srcがtsProject.srcに置き換えられた理由です。

アイデア?私は本当に私のtsconfig.jsonファイルを組み込む必要があります。

let tsProject = plugins.typescript.createProject('./tsconfig.json'); 
    return tsProject.src('/src/**/*.ts') 
     .pipe(plugins.typescript(tsProject)) 
     .pipe(plugins.sourcemaps.init()) 
     .pipe(plugins.sourcemaps.write('.')) 
     .pipe(gulp.dest('.tmp')); 

** EDIT **

詳細情報、私はこの問題は、今ではある

   return gulp.src('/src/**/*.ts') 

   return tsProject.src('/src/**/*.ts') 

を置き換えることにより、グロブを使用して、それを閉じ込めるために管理しています入力ミスについてのエラーが表示されます。

 src/testme.ts(4,10): error TS2304: Cannot find name 'require'. 

my TSCONFIG.JSONファイルはここに入力されています。

{ 
    "compilerOptions": { 
    "target": "ES6", 
    "module": "commonjs", 
    "moduleResolution": "node", 
    "sourceMap": true, 
    "emitDecoratorMetadata": true, 
    "experimentalDecorators": true, 
    "removeComments": false, 
    "noImplicitAny": false 
    }, 
    "files": [ 
    "typings/main.d.ts", 
    "src/testme.ts" 
    ] 
} 

答えて

1

すべてのパスは、ソースと入力にgulp.srcに渡す必要があります。

私たちはいくつかのパスを持ってみましょう:

var paths = { 
    lib: "./wwwroot/", 
    ts: ["./sources/**/*.ts"], 
    styles: ["./sources/**/*.scss"], 
    templates: ["./sources/**/*.html"], 
    typings: "./typings/**/*.d.ts", 
    //svg: "./sources/**/*.svg", 
}; 

我々は、typescriptですが飲み込むために、ソースパスの配列を渡すことができます。

gulp.task("?typescript:demo:debug", function() { 
    var tsResult = gulp.src([ 
      paths.typings, 
      // <...some other paths...> 
     ].concat(paths.ts)) 
     .pipe(sourcemaps.init()) 
     .pipe(ts({ 
      target: "ES5", 
      experimentalDecorators: true, 
      noImplicitAny: false 
     })); 

    return tsResult.js 
     .pipe(concat(package.name + ".js")) 
     .pipe(sourcemaps.write({ sourceRoot: "" })) 
     .pipe(gulp.dest(paths.lib)); 
}) 

私は

gulp.src([paths.typings, <...some other paths...>].concat(paths.ts)) 

が、のを渡していますもちろん、簡単な方法で行うこともできます:

gulp.src([paths.typings, paths.ts]) 
+0

おかげさまで私はこれを受け入れるつもりでしたが、私はかなり助けになりましたが、最終的に私のオリジナルコードを保持し、 "rootDir"を追加することで問題を解決しました。 "src"をtsconfig.jsonに追加しました。だから誰かがこれを見つけた場合は、2つの解決策があります。 – Martin

関連する問題