首页 \ 问答 \ 与Angular2一起使用gplp typescript tsconfig(Gulp typescript tsconfig with Angular2)

与Angular2一起使用gplp typescript tsconfig(Gulp typescript tsconfig with Angular2)

我在排除我应用中的文件夹时遇到了问题。 我正在使用gplp打字稿进行编译和tsconfig文件。 问题在于仍在编译的node_modules文件夹。

这是我的gulpfile:

var tsProject = ts.createProject('tsconfig.json', { typescript: require('typescript') });

gulp.task('tscompile', function () {
var tsResult = tsProject.src("./angular/**/*.ts") // instead of gulp.src(...)
    .pipe(ts(tsProject));

return tsResult.js.pipe(gulp.dest('./'));

});

tsconfig内容:

 {
  "compilerOptions": {
    "target": "es5",
    "module": "system",
    "moduleResolution": "node",
    "sourceMap": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "removeComments": false,
    "noImplicitAny": false
  },
  "exclude": [
    "node_modules",
    "Scripts"
  ]
}

和我的任务跑步者控制台:

angular \ chatApp.ts(5,21):错误TS2305:Module'“C:/ Projects / hrajemevolejbal / HrajemeVolejbal / node_modules / angular2 / core”'没有导出成员'Scope'。 angular \ nominationApp.ts(1,21):error TS2305:Module'“C:/ Projects / hrajemevolejbal / HrajemeVolejbal / node_modules / angular2 / core”'没有导出成员'Scope'。 angular \ notificationApp.ts(1,33):error TS2305:Module'“C:/ Projects / hrajemevolejbal / HrajemeVolejbal / node_modules / angular2 / core”'没有导出成员'Scope'。 angular \ searchApp.ts(4,21):error TS2305:Module'“C:/ Projects / hrajemevolejbal / HrajemeVolejbal / node_modules / angular2 / core”'没有导出成员'Scope'。 angular \ teamRegisterApp.ts(1,21):error TS2305:Module'“C:/ Projects / hrajemevolejbal / HrajemeVolejbal / node_modules / angular2 / core”'没有导出成员'Scope'。 C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/platform/browser.d.ts(77,90):错误TS2304:找不到名字'Promise'。 C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/common/pipes/async_pipe.d.ts(25,38):错误TS2304:找不到名字'Promise'。 C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/core/application_ref.d.ts(83,60):错误TS2304:找不到名字'Promise'。 C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/core/application_ref.d.ts(83,146):错误TS2304:找不到名字'Promise'。 C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/core/application_ref.d.ts(96,51):错误TS2304:找不到名字'Promise'。 C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/core/application_ref.d.ts(96,147):错误TS2304:找不到名字'Promise'。 C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/core/application_ref.d.ts(133,90):错误TS2304:找不到名字'Promise'。 C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/core/application_ref.d.ts(171,81):错误TS2304:找不到名字'Promise'。 C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/core/change_detection/parser/locals.d.ts(3,14):错误TS2304:找不到名字'Map'。 C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/core/change_detection/parser/locals.d.ts(4,42):错误TS2304:找不到名称'Map'。 C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/core/debug/debug_node.d.ts(14,13):错误TS2304:找不到名称'Map'。 C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/core/debug/debug_node.d.ts(24,17):错误TS2304:找不到名称'Map'。 C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/core/debug/debug_node.d.ts(25,17):错误TS2304:找不到名称'Map'。 C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/core/di/provider.d.ts(436,103):错误TS2304:找不到名称'Map'。 C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/core/di/provider.d.ts(436,135):错误TS2304:找不到名称'Map'。 C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/core/linker/compiler.d.ts(12,50):错误TS2304:找不到名字'Promise'。 C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/core/linker/compiler.d.ts(16,41):错误TS2304:找不到名字'Promise'。 C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/core/linker/dynamic_component_loader.d.ts(108,136):错误TS2304:找不到名字'Promise'。 C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/core/linker/dynamic_component_loader.d.ts(156,150):错误TS2304:找不到名字'Promise'。 C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/core/linker/dynamic_component_loader.d.ts(197,128):错误TS2304:找不到名字'Promise'。 C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/core/linker/dynamic_component_loader.d.ts(203,127):错误TS2304:找不到名字'Promise'。 C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/core/linker/dynamic_component_loader.d.ts(204,141):错误TS2304:找不到名字'Promise'。 C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/core/linker/dynamic_component_loader.d.ts(205,119):错误TS2304:找不到名字'Promise'。 C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/core/render/api.d.ts(13,13):错误TS2304:找不到名称'Map'。 C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/core/render/api.d.ts(14,84):错误TS2304:找不到名字'Map'。 C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/facade/async.d.ts(27,33):错误TS2304:找不到名字'Promise'。 C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/facade/async.d.ts(28,45):错误TS2304:找不到名字'Promise'。 C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/facade/collection.d.ts(1,25):错误TS2304:找不到名称'MapConstructor'。 C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/facade/collection.d.ts(2,25):错误TS2304:找不到名称'SetConstructor'。 C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/facade/collection.d.ts(4,27):错误TS2304:找不到名称'Map'。 C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/facade/collection.d.ts(4,39):错误TS2304:找不到名字'Map'。 C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/facade/collection.d.ts(7,9):错误TS2304:找不到名称'Map'。 C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/facade/collection.d.ts(8,30):错误TS2304:找不到名称'Map'。 C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/facade/collection.d.ts(11,43):错误TS2304:找不到名字'Map'。 C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/facade/collection.d.ts(12,27):错误TS2304:找不到名称'Map'。 C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/facade/collection.d.ts(14,23):错误TS2304:找不到名字'Map'。 C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/facade/collection.d.ts(15,25):错误TS2304:找不到名称'Map'。 C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/facade/collection.d.ts(95,41):错误TS2304:找不到名称'Set'。 C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/facade/collection.d.ts(96,22):错误TS2304:找不到名称'Set'。 C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/facade/collection.d.ts(97,25):错误TS2304:找不到名称'Set'。 C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/facade/lang.d.ts(13,17):错误TS2304:找不到名称'Map'。 C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/facade/lang.d.ts(14,17):错误TS2304:找不到名称'Set'。 C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/facade/lang.d.ts(78,59):错误TS2304:找不到名称'Map'。 C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/facade/promise.d.ts(2,14):错误TS2304:找不到名字'Promise'。 C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/facade/promise.d.ts(7,32):错误TS2304:找不到名字'Promise'。 C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/facade/promise.d.ts(8,38):错误TS2304:找不到名字'Promise'。 C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/facade/promise.d.ts(9,35):错误TS2304:找不到名字'Promise'。 C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/facade/promise.d.ts(9,93):错误TS2304:找不到名字'Promise'。 C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/facade/promise.d.ts(10,34):错误TS2304:找不到名字'Promise'。 C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/facade/promise.d.ts(11,32):错误TS2304:找不到名字'Promise'。 C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/facade/promise.d.ts(11,149):错误TS2304:找不到名字'Promise'。 C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/facade/promise.d.ts(12,43):错误TS2304:找不到名字'Promise'。 C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/platform/browser/browser_adapter.d.ts(75,33):错误TS2304:找不到名称'Map'。 C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/platform/dom/dom_adapter.d.ts(85,42):错误TS2304:找不到名字'Map'。 C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/rxjs/CoreOperators.d.ts(35,67):错误TS2304:找不到名字'Promise'。 C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/rxjs/CoreOperators.d.ts(50,66):错误TS2304:找不到名字'Promise'。 C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/rxjs/CoreOperators.d.ts(89,67):错误TS2304:找不到名字'Promise'。 C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/rxjs/CoreOperators.d.ts(94,38):错误TS2304:找不到名字'Promise'。 C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/rxjs/CoreOperators.d.ts(94,50):错误TS2304:找不到名字'Promise'。 C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/rxjs/Observable.d.ts(46,62):错误TS2304:找不到名字'Promise'。 C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/rxjs/Observable.d.ts(47,42):错误TS2304:找不到名称'Iterator'。 C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/rxjs/Observable.d.ts(103,74):错误TS2304:找不到名字'Promise'。 C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/rxjs/Observable.d.ts(103,84):错误TS2304:找不到名字'Promise'。 C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/rxjs/Observable.d.ts(143,66):错误TS2304:找不到名字'Promise'。 C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/rxjs/Observable.d.ts(158,65):错误TS2304:找不到名字'Promise'。 C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/rxjs/Observable.d.ts(201,66):错误TS2304:找不到名字'Promise'。 C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/rxjs/Observable.d.ts(206,38):错误TS2304:找不到名字'Promise'。 C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/rxjs/Observable.d.ts(206,50):错误TS2304:找不到名字'Promise'。 C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/rxjs/observable/ForkJoinObservable.d.ts(6,50):错误TS2304:找不到名字'Promise'。 C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/rxjs/observable/ForkJoinObservable.d.ts(7,58):错误TS2304:找不到名字'Promise'。 C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/rxjs/observable/FromObservable.d.ts(7,38):错误TS2304:找不到名字'Promise'。 C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/rxjs/observable/FromObservable.d.ts(7,51):错误TS2304:找不到名称'迭代器'。 C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/rxjs/observable/PromiseObservable.d.ts(9,31):错误TS2304:找不到名字'Promise'。 C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/rxjs/observable/PromiseObservable.d.ts(10,26):错误TS2304:找不到名字'Promise'。

每一个gulps目前在最新版本。 Angular 2是beta 7.你能帮我吗,问题在哪里? 很感谢。


I have problem with excluding folders in my app. I'm using a gulp typescript for compilation and tsconfig file. Problem is with node_modules folder, which is still compiling.

Here is my gulpfile:

var tsProject = ts.createProject('tsconfig.json', { typescript: require('typescript') });

gulp.task('tscompile', function () {
var tsResult = tsProject.src("./angular/**/*.ts") // instead of gulp.src(...)
    .pipe(ts(tsProject));

return tsResult.js.pipe(gulp.dest('./'));

});

tsconfig content:

 {
  "compilerOptions": {
    "target": "es5",
    "module": "system",
    "moduleResolution": "node",
    "sourceMap": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "removeComments": false,
    "noImplicitAny": false
  },
  "exclude": [
    "node_modules",
    "Scripts"
  ]
}

And my task runner console:

angular\chatApp.ts(5,21): error TS2305: Module '"C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/core"' has no exported member 'Scope'. angular\nominationApp.ts(1,21): error TS2305: Module '"C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/core"' has no exported member 'Scope'. angular\notificationApp.ts(1,33): error TS2305: Module '"C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/core"' has no exported member 'Scope'. angular\searchApp.ts(4,21): error TS2305: Module '"C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/core"' has no exported member 'Scope'. angular\teamRegisterApp.ts(1,21): error TS2305: Module '"C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/core"' has no exported member 'Scope'. C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/platform/browser.d.ts(77,90): error TS2304: Cannot find name 'Promise'. C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/common/pipes/async_pipe.d.ts(25,38): error TS2304: Cannot find name 'Promise'. C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/core/application_ref.d.ts(83,60): error TS2304: Cannot find name 'Promise'. C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/core/application_ref.d.ts(83,146): error TS2304: Cannot find name 'Promise'. C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/core/application_ref.d.ts(96,51): error TS2304: Cannot find name 'Promise'. C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/core/application_ref.d.ts(96,147): error TS2304: Cannot find name 'Promise'. C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/core/application_ref.d.ts(133,90): error TS2304: Cannot find name 'Promise'. C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/core/application_ref.d.ts(171,81): error TS2304: Cannot find name 'Promise'. C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/core/change_detection/parser/locals.d.ts(3,14): error TS2304: Cannot find name 'Map'. C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/core/change_detection/parser/locals.d.ts(4,42): error TS2304: Cannot find name 'Map'. C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/core/debug/debug_node.d.ts(14,13): error TS2304: Cannot find name 'Map'. C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/core/debug/debug_node.d.ts(24,17): error TS2304: Cannot find name 'Map'. C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/core/debug/debug_node.d.ts(25,17): error TS2304: Cannot find name 'Map'. C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/core/di/provider.d.ts(436,103): error TS2304: Cannot find name 'Map'. C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/core/di/provider.d.ts(436,135): error TS2304: Cannot find name 'Map'. C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/core/linker/compiler.d.ts(12,50): error TS2304: Cannot find name 'Promise'. C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/core/linker/compiler.d.ts(16,41): error TS2304: Cannot find name 'Promise'. C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/core/linker/dynamic_component_loader.d.ts(108,136): error TS2304: Cannot find name 'Promise'. C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/core/linker/dynamic_component_loader.d.ts(156,150): error TS2304: Cannot find name 'Promise'. C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/core/linker/dynamic_component_loader.d.ts(197,128): error TS2304: Cannot find name 'Promise'. C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/core/linker/dynamic_component_loader.d.ts(203,127): error TS2304: Cannot find name 'Promise'. C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/core/linker/dynamic_component_loader.d.ts(204,141): error TS2304: Cannot find name 'Promise'. C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/core/linker/dynamic_component_loader.d.ts(205,119): error TS2304: Cannot find name 'Promise'. C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/core/render/api.d.ts(13,13): error TS2304: Cannot find name 'Map'. C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/core/render/api.d.ts(14,84): error TS2304: Cannot find name 'Map'. C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/facade/async.d.ts(27,33): error TS2304: Cannot find name 'Promise'. C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/facade/async.d.ts(28,45): error TS2304: Cannot find name 'Promise'. C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/facade/collection.d.ts(1,25): error TS2304: Cannot find name 'MapConstructor'. C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/facade/collection.d.ts(2,25): error TS2304: Cannot find name 'SetConstructor'. C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/facade/collection.d.ts(4,27): error TS2304: Cannot find name 'Map'. C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/facade/collection.d.ts(4,39): error TS2304: Cannot find name 'Map'. C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/facade/collection.d.ts(7,9): error TS2304: Cannot find name 'Map'. C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/facade/collection.d.ts(8,30): error TS2304: Cannot find name 'Map'. C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/facade/collection.d.ts(11,43): error TS2304: Cannot find name 'Map'. C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/facade/collection.d.ts(12,27): error TS2304: Cannot find name 'Map'. C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/facade/collection.d.ts(14,23): error TS2304: Cannot find name 'Map'. C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/facade/collection.d.ts(15,25): error TS2304: Cannot find name 'Map'. C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/facade/collection.d.ts(95,41): error TS2304: Cannot find name 'Set'. C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/facade/collection.d.ts(96,22): error TS2304: Cannot find name 'Set'. C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/facade/collection.d.ts(97,25): error TS2304: Cannot find name 'Set'. C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/facade/lang.d.ts(13,17): error TS2304: Cannot find name 'Map'. C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/facade/lang.d.ts(14,17): error TS2304: Cannot find name 'Set'. C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/facade/lang.d.ts(78,59): error TS2304: Cannot find name 'Map'. C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/facade/promise.d.ts(2,14): error TS2304: Cannot find name 'Promise'. C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/facade/promise.d.ts(7,32): error TS2304: Cannot find name 'Promise'. C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/facade/promise.d.ts(8,38): error TS2304: Cannot find name 'Promise'. C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/facade/promise.d.ts(9,35): error TS2304: Cannot find name 'Promise'. C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/facade/promise.d.ts(9,93): error TS2304: Cannot find name 'Promise'. C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/facade/promise.d.ts(10,34): error TS2304: Cannot find name 'Promise'. C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/facade/promise.d.ts(11,32): error TS2304: Cannot find name 'Promise'. C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/facade/promise.d.ts(11,149): error TS2304: Cannot find name 'Promise'. C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/facade/promise.d.ts(12,43): error TS2304: Cannot find name 'Promise'. C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/platform/browser/browser_adapter.d.ts(75,33): error TS2304: Cannot find name 'Map'. C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/angular2/src/platform/dom/dom_adapter.d.ts(85,42): error TS2304: Cannot find name 'Map'. C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/rxjs/CoreOperators.d.ts(35,67): error TS2304: Cannot find name 'Promise'. C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/rxjs/CoreOperators.d.ts(50,66): error TS2304: Cannot find name 'Promise'. C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/rxjs/CoreOperators.d.ts(89,67): error TS2304: Cannot find name 'Promise'. C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/rxjs/CoreOperators.d.ts(94,38): error TS2304: Cannot find name 'Promise'. C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/rxjs/CoreOperators.d.ts(94,50): error TS2304: Cannot find name 'Promise'. C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/rxjs/Observable.d.ts(46,62): error TS2304: Cannot find name 'Promise'. C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/rxjs/Observable.d.ts(47,42): error TS2304: Cannot find name 'Iterator'. C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/rxjs/Observable.d.ts(103,74): error TS2304: Cannot find name 'Promise'. C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/rxjs/Observable.d.ts(103,84): error TS2304: Cannot find name 'Promise'. C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/rxjs/Observable.d.ts(143,66): error TS2304: Cannot find name 'Promise'. C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/rxjs/Observable.d.ts(158,65): error TS2304: Cannot find name 'Promise'. C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/rxjs/Observable.d.ts(201,66): error TS2304: Cannot find name 'Promise'. C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/rxjs/Observable.d.ts(206,38): error TS2304: Cannot find name 'Promise'. C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/rxjs/Observable.d.ts(206,50): error TS2304: Cannot find name 'Promise'. C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/rxjs/observable/ForkJoinObservable.d.ts(6,50): error TS2304: Cannot find name 'Promise'. C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/rxjs/observable/ForkJoinObservable.d.ts(7,58): error TS2304: Cannot find name 'Promise'. C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/rxjs/observable/FromObservable.d.ts(7,38): error TS2304: Cannot find name 'Promise'. C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/rxjs/observable/FromObservable.d.ts(7,51): error TS2304: Cannot find name 'Iterator'. C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/rxjs/observable/PromiseObservable.d.ts(9,31): error TS2304: Cannot find name 'Promise'. C:/Projects/hrajemevolejbal/HrajemeVolejbal/node_modules/rxjs/observable/PromiseObservable.d.ts(10,26): error TS2304: Cannot find name 'Promise'.

Every gulps are currently in latest version. Angular 2 is beta 7. Can You help me, where is problem? Very thanks.


原文:https://stackoverflow.com/questions/35630900
更新时间:2023-10-05 08:10

最满意答案

如果你真的不在乎等待线程,你可以在创建线程后立即关闭句柄。

但是,我强烈建议不要这样做。 你应该总是等待线程退出(最好以干净,明确的方式)。 如果之前没有完成,请等待程序退出时生成的每个线程。 总是,没有例外。
不要让main不知道其他一些线程是否仍在运行。 如果需要的话,以艰难的方式杀死它们(虽然最好让它们以受控的方式优雅地退出,并等待它)。

如果您等待线程完成,您可能会看到奇怪的崩溃退出条件。 或者更糟糕的是,您可能看不到它们,并且只有用户/客户抱怨配置文件中的一百个被破坏(或者更糟糕的是,他们的数据文件) 1 。 现在想象一下,他们能够逐步展示他们正在做的事情,你可以告诉他们他们正确地做了一切,并且没有办法出错。
祝你好运,发现崩溃是由于仍在运行的工作线程访问某个对象(或全局状态),该对象刚刚被CRT明确或隐含地退出主线程解除分配。

当然,你的立场可能是工作线程在程序完成之前很久就会退出,所以为什么要这么麻烦。 然而,那就是玩俄罗斯轮盘赌。


1这不是虚构,但我以前见过的事情发生过。


If you really do not care about waiting for the thread, you can indeed close the handle immediately after creating the thread.

However, I strongly advise against doing that. You should always wait for threads to exit (preferrably in a clean, well-defined way). If not done earlier, wait for every thread you spawned when the program exits. Always, no exceptions.
Do not leave main not knowing whether or not some other threads are still running. If need be, kill them the hard way (though preferrably, let them exit gracefully in a controlled manner, and wait for it).

If you don't wait for threads to finish, you may see weird crash-on-exit conditions. Or worse, you might not see them, and only have users/customers complain that one in a hundred times the config file gets corrupted (or worse, a data file of theirs)1. Now imagine that they are able to demonstrate step-by-step what they're doing, and you can tell that they do everything correctly, and there is no way something could go wrong.
Good luck figuring out that the crash is due to a still-running worker thread accessing some object (or global state) which was just deallocated by the exiting main thread, either explicitly or implicitly by the CRT.

Of course your stance could be that the worker thread will have exited long before the program finishes anyway, so why bother. However, that is playing Russian Roulette.


1This is not fiction, but something I've actually seen happen before.

相关问答

更多
  • 这不仅是合理的,而且不是做手柄泄漏。 通常我会在创建线程后立即关闭它,除非我在其他地方需要它。 Not only is it reasonable, not doing it is a handle leak. Generally I close it immediately after creating the thread unless I'm going to need it elsewhere.
  • 你需要在to_mem_h上调用CloseHandle() ,而不是在MapViewOfFile()的返回值上调用(请参阅这里使用MapViewOfFile()示例 - 该示例在MapViewOfFile()的返回值上调用UnmapViewOfFile() MapViewOfFile()并调用CloseHandle()关于MapViewOfFile()的第一个参数) You need to call CloseHandle() on to_mem_h, not on the return value of M ...
  • 如果你真的不在乎等待线程,你可以在创建线程后立即关闭句柄。 但是,我强烈建议不要这样做。 你应该总是等待线程退出(最好以干净,明确的方式)。 如果之前没有完成,请等待程序退出时生成的每个线程。 总是,没有例外。 不要让main不知道其他一些线程是否仍在运行。 如果需要的话,以艰难的方式杀死它们(虽然最好让它们以受控的方式优雅地退出,并等待它)。 如果您不等待线程完成,您可能会看到奇怪的崩溃退出条件。 或者更糟糕的是,您可能看不到它们,并且只有用户/客户抱怨配置文件中的一百个被破坏(或者更糟糕的是,他们的数据 ...
  • 在SetEvent之后调用CloseHandle对我来说没有任何意义。 你应该(如果需要)在WaitForSingleObject之后调用CloseHandle 。 Calling CloseHandle after SetEvent doesn't make sense to me. You should (if required) call CloseHandle after WaitForSingleObject only.
  • 即使进程已关闭,无法调用CloseHandle绑定操作系统中的资源? 不可以。当进程终止时,操作系统会隐式释放它一直存在的任何句柄,就像分配的内存一样。 从系统的角度来看,不关闭句柄的缺点与不释放内存的缺点一样:只要进程仍在运行,就可以防止操作系统释放逻辑上未使用的资源。 从开发者的角度来看,缺点是没有办法自动将分配的资源划分成“有意泄露”和“由于错误泄漏”的集合。 在某些时候(可能不会)如果你意识到你的应用程序泄露了资源,这实际上不应该是这样,像这样打开的句柄会让真正的问题隐藏在虚假的线索中,从而使你的生 ...
  • 最严重的后果是一个等待互斥体解锁的线程。 WaitXxx调用返回WAIT_ABANDONED。 在这个时候,调用TerminateProcess将会是一个非常好的主意,因为你不知道刚刚发生了什么。 The most serious consequence is a thread that's waiting for the mutex getting unblocked. The WaitXxx call returns WAIT_ABANDONED. At which point it would be ...
  • 处理线程的两种基本方法。 通常情况下,当线程终止时,你会感兴趣,你需要保持这个句柄,以便你能找到答案。 当然,你会在检测到终止后关闭它。 或者你不在乎,即发即弃的风格,或者有额外的同步对象来表示线程函数完成和/或你要求它退出。 在这种情况下,您只要在启动时就关闭手柄。 请记住, 没有必要继续打开手柄以保持线程运行,以防万一是造成混淆的根源。 Two basic ways to deal with a thread. Commonly you're interested when the thread ter ...
  • 我相信问题在于服务于COM端口的驱动程序。 因此 - 不会有“实际关闭”COM端口的API。 顺便说一句,关闭文件句柄之后,不需要等待所有未完成的I / O完成并出现错误。 在CloseHandle返回所有未完成的I / O 已完成/取消时,您只需异步接收回调(不管是通过完成端口还是APC队列)。 特别是FTDI驱动程序(那些模拟COM-> USB的)驱动程序已知非常糟糕。 我只能建议在关闭句柄之前尝试刷新数据。 您可以在关闭COM端口之前等待所有I / O完成(如果这适用于您的情况)。 或者,您可以调用S ...
  • 我不相信你需要关闭从FindWindow打开的句柄。 但是,根据您的需要,您可能最好使用等效的.Net框架, GetProcessesByName : var processes = System.Diagnostics.Process.GetProcessesByName("notepad"); foreach (System.Diagnostics.Process process in processes) { // The main window handle can now be acce ...
  • 所以,似乎这个问题是由本节引起的,狡猾地被代码的原作者隐藏: int fd = _open_osfhandle( (intptr_t)hFile, O_WRONLY | O_TEXT ); _dup2( fd, 1 ); // _close( fd ); 这里注释掉的_close似乎导致了这个问题。 So, it seems the problem was caused by this section, cunningly hidden by the code's original aut ...

相关文章

更多

最新问答

更多
  • 获取MVC 4使用的DisplayMode后缀(Get the DisplayMode Suffix being used by MVC 4)
  • 如何通过引用返回对象?(How is returning an object by reference possible?)
  • 矩阵如何存储在内存中?(How are matrices stored in memory?)
  • 每个请求的Java新会话?(Java New Session For Each Request?)
  • css:浮动div中重叠的标题h1(css: overlapping headlines h1 in floated divs)
  • 无论图像如何,Caffe预测同一类(Caffe predicts same class regardless of image)
  • xcode语法颜色编码解释?(xcode syntax color coding explained?)
  • 在Access 2010 Runtime中使用Office 2000校对工具(Use Office 2000 proofing tools in Access 2010 Runtime)
  • 从单独的Web主机将图像传输到服务器上(Getting images onto server from separate web host)
  • 从旧版本复制文件并保留它们(旧/新版本)(Copy a file from old revision and keep both of them (old / new revision))
  • 西安哪有PLC可控制编程的培训
  • 在Entity Framework中选择基类(Select base class in Entity Framework)
  • 在Android中出现错误“数据集和渲染器应该不为null,并且应该具有相同数量的系列”(Error “Dataset and renderer should be not null and should have the same number of series” in Android)
  • 电脑二级VF有什么用
  • Datamapper Ruby如何添加Hook方法(Datamapper Ruby How to add Hook Method)
  • 金华英语角.
  • 手机软件如何制作
  • 用于Android webview中图像保存的上下文菜单(Context Menu for Image Saving in an Android webview)
  • 注意:未定义的偏移量:PHP(Notice: Undefined offset: PHP)
  • 如何读R中的大数据集[复制](How to read large dataset in R [duplicate])
  • Unity 5 Heighmap与地形宽度/地形长度的分辨率关系?(Unity 5 Heighmap Resolution relationship to terrain width / terrain length?)
  • 如何通知PipedOutputStream线程写入最后一个字节的PipedInputStream线程?(How to notify PipedInputStream thread that PipedOutputStream thread has written last byte?)
  • python的访问器方法有哪些
  • DeviceNetworkInformation:哪个是哪个?(DeviceNetworkInformation: Which is which?)
  • 在Ruby中对组合进行排序(Sorting a combination in Ruby)
  • 网站开发的流程?
  • 使用Zend Framework 2中的JOIN sql检索数据(Retrieve data using JOIN sql in Zend Framework 2)
  • 条带格式类型格式模式编号无法正常工作(Stripes format type format pattern number not working properly)
  • 透明度错误IE11(Transparency bug IE11)
  • linux的基本操作命令。。。