Hallo Aufruf habe ich eine sehr einfache Typoskript ModulTyposkript erzeugt Javascript (minimierte durch schluck) Verlust seiner Handler, wenn es in einem anderen Javascript
export module myFirstPackage {
export class test {
description : string
constructor() {
this.description = "This is a test module class";
}
public getDescription() {
return this.description;
}
}
export function printDescription() : string {
alert(new test().getDescription);
}
}
ich JavaScript-Datei erzeugt und es uglified, ich versuche dann die uglified-Datei verwenden in einer anderen Javascript-Anwendung als Bibliothek, aber wie kann ich den Handler zu den ts Javascript generiert bekommen? Ich kann über meinen Modulnamen überhaupt nicht darauf zugreifen.
Ich bin uglifyingt es durch schluck
mein schluck Datei sieht wie folgt aus
var gulp = require("gulp");
var watchify = require("watchify");
var browserify = require("browserify");
var source = require('vinyl-source-stream');
var tsify = require("tsify");
var gutil = require("gulp-util");
var uglify = require('gulp-uglify');
var sourcemaps = require('gulp-sourcemaps');
var buffer = require('vinyl-buffer');
var sass = require('gulp-sass');
var minifyCss = require('gulp-minify-css');
var concat = require('gulp-concat');
var rename = require('gulp-rename');
//Variables
var conf = {
html: ['src/html/**/*.html'],
scss: ['src/scss/**/*.scss'],
jsdistAll: 'src/js/',
jsdist: 'www/js/',
htmldist: 'www/templates/',
cssdist: 'www/css/',
jsfilename: 'all.js',
cssfilename: 'style.css',
tsentry: 'src/ts/main.ts',
debugts: true
};
//TS code handling
var watchedBrowserify = watchify(browserify({
basedir: '.',
debug: conf.debugts,
entries: [conf.tsentry],
cache: {},
packageCache: {}
}).plugin(tsify));
function bundle() {
return watchedBrowserify
.bundle()
.pipe(source(conf.jsfilename))
.pipe(gulp.dest(conf.jsdistAll))
.pipe(buffer())
.pipe(sourcemaps.init({loadMaps: true}))
.pipe(uglify())
.pipe(rename({ extname: '.min.js' }))
.pipe(sourcemaps.write('./'))
.pipe(gulp.dest(conf.jsdist));
}
watchedBrowserify.on("update", bundle);
watchedBrowserify.on("log", gutil.log);
//Html handling
gulp.task("html", function() {
return gulp.src(conf.html)
.pipe(gulp.dest(conf.htmldist));
});
//Css handling
gulp.task('sass', function() {
return gulp.src(conf.scss)
.pipe(sourcemaps.init())
.pipe(sass({includePaths : ['_/'+conf.scss]}).on('error', sass.logError))
.pipe(gulp.dest(conf.cssdist))
.pipe(minifyCss({
keepSpecialComments: 0
}))
.pipe(rename({ extname: '.min.css' }))
.pipe(sourcemaps.write('./'))
.pipe(gulp.dest(conf.cssdist))
});
//Watch task
gulp.task('watch', function() {
gulp.watch(conf.html, ['html']);
gulp.watch(conf.sass, ['sass']);
});
//initialize task
gulp.task("default", ["html", "sass", "watch"], bundle);
einem anderen Frage auf der Zeile Uhr für html funktioniert aber nicht für sass.
Natürlich kann ich manuell das Modul per Explicit-Connect-Modul mit dem Fensterobjekt manuell exportieren, aber ich muss das nicht tun. – user2412555