我正在尝试将一个typescript应用程序从ASP.NET MVC环境中带到一个独立的应用程序中,以分离前端和后端的需求。
typescript保持不变,我尝试用gulp编译typescript,但代码似乎无法编译。我关注了丹·瓦林发布的this博文。但是打字稿似乎不能编译。我使用的是安装了Visual Studio 2015 Premium的Windows 8.1笔记本电脑。
我的工程目录结构如下:
/
-- App/
---- Controllers/
------ xxController.ts
-- Scripts/
---- typings/
------ xxlibrary/
-------- library.d.ts
---- tsd.d.ts我拥有的文件如下:
Gulpfile.config.js:
'use strict';
var GulpConfig = (function () {
function gulpConfig() {
this.source = '/App';
this.tsOutputPath = '/Scripts';
this.allJavaScript = ['/Scripts/**/*.js'];
this.allTypeScript = this.source + '/**/*.ts';
this.typings = '/Scripts/typings';
this.libraryTypeScriptDefinitions = this.typings + '/**/*.ts';
}
return gulpConfig;
})();
module.exports = GulpConfig; 请注意,当我使用Dan Wahlin的配置中所示的'./‘符号时,gulp会给我一个例外:
[11:08:11] Using gulpfile D:\Files\Work\Source\ImageManagement\Imagemanagement.App\Gulpfile.js
[11:08:11] Starting 'ts-lint'...
[11:08:11] Starting 'compile-ts'...
stream.js:94
throw er; // Unhandled stream error in pipe.
^
SyntaxError: Unexpected token gulpfile.js:
'use strict';
var gulp = require('gulp'),
debug = require('gulp-debug'),
inject = require('gulp-inject'),
tsc = require('gulp-typescript'),
tslint = require('gulp-tslint'),
sourcemaps = require('gulp-sourcemaps'),
del = require('del'),
Config = require('./gulpfile.config'),
tsProject = tsc.createProject('tsconfig.json'),
browserSync = require('browser-sync'),
superstatic = require('superstatic');
var config = new Config();
/**
* Compile TypeScript and include references to library and app .d.ts files.
*/
gulp.task('compile-ts', function () {
var sourceTsFiles = [config.allTypeScript, //path to typescript files
config.libraryTypeScriptDefinitions]; //reference to library .d.ts files
var tsResult = gulp.src(sourceTsFiles)
.pipe(sourcemaps.init())
.pipe(tsc(tsProject));
tsResult.dts.pipe(gulp.dest(config.tsOutputPath));
return tsResult.js
.pipe(sourcemaps.write('.'))
.pipe(gulp.dest(config.tsOutputPath));
});当我运行这个gulpfile.js时,没有抛出错误,但是Scripts中没有输出。
[11:15:08] Using gulpfile D:\Files\Work\Source\ImageManagement\Imagemanagement.App\Gulpfile.js
[11:15:08] Starting 'compile-ts'...
[11:15:08] Finished 'compile-ts' after 6.84 ms
Process terminated with code 0.发布于 2015-09-09 15:40:32
好了,我找到问题了。当我更改此设置时:
'use strict';
var GulpConfig = (function () {
function gulpConfig() {
[...]
this.allTypeScript = this.source + '/**/*.ts';
[...]
this.libraryTypeScriptDefinitions = this.typings + '/**/*.ts';
}
return gulpConfig;
})();
module.exports = GulpConfig; 至
'use strict';
var GulpConfig = (function () {
function gulpConfig() {
[...]
this.allTypeScript = './App/**/*.ts';
[...]
this.libraryTypeScriptDefinitions = './Scripts/typings/**/*.ts';
}
return gulpConfig;
})();
module.exports = GulpConfig; 它工作得很好。不过,我不知道为什么。
https://stackoverflow.com/questions/32453865
复制相似问题