4

当我跑步时tsc,一切都运行得很好。但是,我无法理解您打算如何从节点模块导入其他打字稿模块。

这是我的 gulp 文件的重要部分:

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";

typescript 模块节点模块在哪里tsmvc,我得到cannot find module tsmvc.Atom 不会抱怨并显示智能感知,tsc 不会抱怨,但 tsify 会。谁能指出我做类似事情的 gulp 文件或解释这个过程?

这是 github 存储库:https ://github.com/Davste93/typescript-mvc-consumer/blob/master/gulpfile.js

4

1 回答 1

1

在 0.15.3 版本之前tsify,无法从node_modules.

在内部,tsify插件会创建一个转换,Browserify 不会node_modules为非全局转换转换文件。在 0.15.3 版本中tsify,添加了该global选项,可以指定如下:

var bundler = browserify({
    basedir: "src",
    debug: true
})
.add("app.ts")
.plugin(tsify, { global: true });
于 2016-08-08T08:47:16.437 回答