javascript - Hvordan indlæser man typescript-moduler fra node_modules ved hjælp af browserify?
Når jeg kører tsc, kører alt perfekt. Dog kan jeg ikke forstå, hvordan man skal importere andre TypeScript-moduler fra node-moduler.
Dette er den vigtige del af min gulp-fil:
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'}));
});
Når jeg bruger,
import {DataRepository, List} from "tsmvc";
Hvor tsmvc er en TypeScript-modul node-modul, får jeg cannot find module tsmvc. Atom klager ikke og viser mig intellisense, tsc klager ikke, men tsify gør. Kan nogen pege mig på en gulp-fil, der gør noget lignende, eller forklare processen?
Her er github-repositoriet: https://github.com/Davste93/typescript-mvc-consumer/blob/master/gulpfile.js
Svar #1
Før version 0.15.3 af tsify var det ikke muligt at importere TypeScript-filer fra node_modules.
Internt opretter tsify-plugin'et en transform, og Browserify transformerer ikke filer under node_modules for ikke-globale transforms. I version 0.15.3 af tsify blev global-muligheden tilføjet og kan specificeres som følger:
var bundler = browserify({
basedir: "src",
debug: true
})
.add("app.ts")
.plugin(tsify, { global: true });
