Несколько файлов Typescript, скомпилированных в автономный файл javascript - PullRequest
0 голосов
/ 23 февраля 2019

Я знаю, что есть тысячи таких вопросов.Я просмотрел их все (в основном).

Все ответы, которые я нашел, выглядят устаревшими, изменены, используют устаревшие пакеты NPM или пакет с двухлетним отчетом об ошибке, которую я получаю.

Я открыт для использования любого бегуна задач, пакетов, формата импорта, чего угодно.

Я хотел бы написать Typescript (что-то вроде):

Файл1:

import FileTwoClass from "./File2"
export default FileOneClass{
    fieldOne:number = 12

    doStuff(){
        FileTwoClass.importantFunction(this.fieldOne)
    }
}

Файл: App.ts:

import FileOneClass from "./File1" 
class App{
    run(){
        FileOneClass.doStuff();
    }
}

let app = new App()
app.run();

И пусть Taskrunner (или что-то еще) выложит один единственный файл, который содержит все зависимости, установленные в связанных файлах Typescript.

Я поступаю неправильно, или это достижимо?Если да, то как именно?: D

Спасибо!

1 Ответ

0 голосов
/ 23 февраля 2019

Я понял это.Если кто-нибудь заходит и находит это, используйте руководство здесь: https://www.typescriptlang.org/docs/handbook/gulp.html

И используйте «@ babel / preset-env»: «^ 7.3.1» вместо предустановки es2015.

var gulp = require('gulp');
var browserify = require('browserify');
var source = require('vinyl-source-stream');
var tsify = require('tsify');
var sourcemaps = require('gulp-sourcemaps');
var buffer = require('vinyl-buffer');

gulp.task('default', function () {
    return browserify({
        basedir: '.',
        debug: true,
        entries: ['ts/app.ts'],
        cache: {},
        packageCache: {}
    })
        .plugin(tsify)
        .transform('babelify', {
            presets: ['@babel/preset-env'],
            extensions: ['.ts']
        })
        .bundle()
        .pipe(source('bundle.js'))
        .pipe(buffer())
        .pipe(sourcemaps.init({ loadMaps: true }))
        .pipe(sourcemaps.write('./'))
        .pipe(gulp.dest('dist'));
});
...