当我运行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";
tsmvc
是一个打字稿模块节点模块,我得到cannot find module tsmvc.
Atom没有抱怨并告诉我intellisense,tsc没有抱怨,但是tsify没有。
任何人都可以指点我做类似的gulp文件或解释这个过程吗?
这里是github回购:https://github.com/Davste93/typescript-mvc-consumer/blob/master/gulpfile.js
答案 0 :(得分:1)
在tsify
版本0.15.3之前,无法从node_modules
内导入TypeScript文件。
在内部,tsify
插件会创建转换,而Browserify不会转换node_modules
下的文件以进行非全局转换。在tsify
的版本0.15.3中,添加了global
选项,可以按如下方式指定:
var bundler = browserify({
basedir: "src",
debug: true
})
.add("app.ts")
.plugin(tsify, { global: true });