Mon problème est le suivant:Gulp + Browserify + dactylographiée au navigateur
J'utilise gulp + browserify pour compiler mon tapuscrit JavaScript que vous pouvez utiliser sur des pages HTML normales, le problème est que ma classe est jamais disponible sur le navigateur:
VM633:1 Uncaught ReferenceError: Test is not defined
at <anonymous>:1:13
Ceci est mon fichier dactylographiée:
class Test {
public test(): void {
console.log("aa");
}
}
Ceci est mon gulpfile
var gulp = require("gulp");
var browserify = require("browserify");
var source = require('vinyl-source-stream');
var tsify = require("tsify");
gulp.task("default", function() {
return browserify({
//basedir: '.',
debug: true,
entries: ['app/Resources/typescript/Test.ts'],
cache: {},
packageCache: {}
})
.plugin(tsify)
.bundle()
.pipe(source('bundle.js'))
.pipe(gulp.dest("web/bundles/framework/js"));
});
Le fichier compile sans problème, et est inclus dans mon index.html (le fichier js compilé).
Mais quand je tente:
var t = new Test();
Je reçois l'erreur suivante:
VM633:1 Uncaught ReferenceError: Test is not defined
at <anonymous>:1:13
Je ne peux pas le résoudre, j'ai lu un havre de beaucoup et je Je n'ai rien trouvé de clair, j'ai tout essayé et rien n'a fonctionné.
Merci, j'ai essayé avec l'export, mais ça ne marchera pas, je veux utiliser ma classe dans mon index.html, n'est-ce pas possible? Ou dois-je interagir avec html dans ma classe ts au lieu d'importer la classe dans le code HTML? – redigaffi
Je ne pense pas que vous pouvez convertir le JS dans html en utilisant Browserify seul. Vous devrez peut-être utiliser un [plugin comme celui-ci] (https://github.com/shama/scriptify). Alternativement, si vous avez défini la classe sur l'objet 'wiindow' comme je l'ai montré ci-dessus, vous pouvez y accéder de n'importe où. – Saravana
Mais mon idée est de développer javascript avec TypeScript, et de l'utiliser dans mon index.html comme JavaScript, quel est le problème? pourquoi ne puis-je pas utiliser le TypeScript compilé, je ne comprends pas, c'est JavaScript simple, tout comme les autres JS. Merci! – redigaffi