无法通过 .net 核心 Web 应用 运行 基本的 Typescript 脚本
Can't run a basic Typescript script through a .net core web app
项目结构
Proj
--wwwroot/scripts
--scripts
--tsconfig.json
----Account
------app.ts
--gulpfile.js
给定 scripts/Account/app.ts 中的以下 TypeScript:
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 中得到了一个输出文件。但是无法从使用它的网页调用该函数,因为它似乎被包装在一个函数中,因此在全球范围内不可用:
那么我在编译步骤中缺少什么才能调用基本的打字稿函数?我试过导出函数,在这种情况下,它只是将它添加到导出对象中:
Configuration : 指定要用作 standalone lib
的名称
gulp.task('default', function () {
return browserify({
basedir: '.',
entries: ['scripts/Account/app.ts'],
cache: {},
packageCache: {},
standalone : "XLib", // specify a name to be used as standalone lib
})
.plugin(tsify)
.bundle()
.pipe(source('scripts/Account/app.js'))
.pipe(gulp.dest("wwwroot/scripts"));
});
公开函数 :
export function sayHello() {
alert('hello world');
}
在浏览器中使用库:
<script>
XLib.sayHello();
</script>
演示 :
项目结构
Proj
--wwwroot/scripts
--scripts
--tsconfig.json
----Account
------app.ts
--gulpfile.js
给定 scripts/Account/app.ts 中的以下 TypeScript:
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 中得到了一个输出文件。但是无法从使用它的网页调用该函数,因为它似乎被包装在一个函数中,因此在全球范围内不可用:
那么我在编译步骤中缺少什么才能调用基本的打字稿函数?我试过导出函数,在这种情况下,它只是将它添加到导出对象中:
Configuration : 指定要用作 standalone lib
的名称gulp.task('default', function () {
return browserify({
basedir: '.',
entries: ['scripts/Account/app.ts'],
cache: {},
packageCache: {},
standalone : "XLib", // specify a name to be used as standalone lib
})
.plugin(tsify)
.bundle()
.pipe(source('scripts/Account/app.js'))
.pipe(gulp.dest("wwwroot/scripts"));
});
公开函数 :
export function sayHello() {
alert('hello world');
}
在浏览器中使用库:
<script>
XLib.sayHello();
</script>
演示 :