如何使用browserify从node_modules加载打字稿模块?
当我运行tsc
,一切运行得很好。 但是,我不明白你是如何从节点模块导入其他打印模块的。
这是我的一大堆文件的重要部分:
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
是tsmvc
模块节点模块,我得到cannot find module tsmvc.
primefaces不抱怨,并显示我intellisense,TSC不抱怨,但tsify呢。 任何人都可以指向我做一个类似的吞咽文件或解释过程?
这里的github回购: https : //github.com/Davste93/typescript-mvc-consumer/blob/master/gulpfile.js
在tsify tsify
之前,无法从node_modules
导入TypeScript文件。
在内部, tsify
插件创build一个转换,Browserify不转换node_modules
下的文件进行非全局转换。 在tsify的tsify
版本中,增加了global
选项,可以指定如下:
var bundler = browserify({ basedir: "src", debug: true }) .add("app.ts") .plugin(tsify, { global: true });