2016-02-29 30 views
4

當我運行tsc時,一切都運行得很好。但是,我無法理解你是如何從節點模塊導入其他打印模塊的。如何使用browserify從node_modules加載打印稿模塊?

這是我一飲而盡文件的重要組成部分:

gulp.task('compile-ts', ['clean'], function(){ 
    var sourceTsFiles = [ 
    config.allTs, 
    config.typings 
    ]; 

    var bundler = browserify({ 
    basedir : "src", 
    debug : true}) 
    .add("app.ts") 
    //.add("typings/tsd.d.ts") 
    .plugin(tsify); 

    return bundler.bundle() 
     .pipe(source("bundle.js")) 
     .pipe(gulp.dest("build")) 
     .pipe(buffer()) 
     .pipe(sourcemaps.init({loadMaps: true})) 
     .pipe(sourcemaps.write({includeContent: false, sourceRoot: 'src'})); 

}); 

當我使用,

import {DataRepository, List} from "tsmvc"; 

tsmvc是打字稿模塊節點模塊中,我得到cannot find module tsmvc.原子不抱怨,向我展示intellisense,tsc不會抱怨,但tsify會。 任何人都可以指向我的一個吞嚥文件做類似的事情或解釋過程?

這裏的GitHub庫:https://github.com/Davste93/typescript-mvc-consumer/blob/master/gulpfile.js

+0

似乎在這裏描述的問題:https://github.com/TypeStrong/tsify/issues/60 - 雖然無法理解那裏的決議。 –

回答

1

此前的tsify 0.15.3版本,它不可能從node_modules內導入打字稿文件。

在內部,tsify插件創建轉換,而Browserify不轉換node_modules下的非全局轉換文件。在版本的tsify 0.15.3,添加了global選項,可以如下規定:

var bundler = browserify({ 
    basedir: "src", 
    debug: true 
}) 
.add("app.ts") 
.plugin(tsify, { global: true });