Структура проекта
Proj
--wwwroot/scripts
--scripts
--tsconfig.json
----Account
------app.ts
--gulpfile.js
С учетом следующего TypeScript в сценариях / Account / app.ts:
function sayHello() {
alert('hello world');
}
в файле tsconfig.json
{
"compilerOptions": {
"noImplicitAny": true,
"noEmitOnError": true,
"sourceMap": true,
"target": "es6",
"lib": [ "es6", "dom" ]
},
"compileOnSave": false
}
и gulpfile.js
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: '.',
entries: ['scripts/Account/app.ts'],
cache: {},
packageCache: {}
})
.plugin(tsify)
.bundle()
.pipe(source('scripts/Account/app.js'))
.pipe(gulp.dest("wwwroot/scripts"));
});
Я получаю выходной файл в wwwroot / scripts / app.js.Но эта функция не может быть вызвана с веб-страниц, которые ее используют, потому что она недоступна глобально, так как кажется, что она заключена в функцию:
Так что же мне не хватает на моих этапах компиляции, чтобы можно было вызывать базовую функцию машинописи?Я попытался экспортировать функцию, в этом случае она просто добавляет ее к объекту экспорта: