2016-02-13 3 views
10

Я запускаю сборку машинописных шрифтов и получаю ошибки в node_modules. Почему он не игнорирует эту папку? У меня есть это в разделе exclude моего tsconfig.json. Очень странно, что у меня есть другой проект, с которым я сравнил файлы, и он не бросает эти ошибки, хотя gulpfile.js, tsconfig.json и папки node_modules идентичны. Что еще я могу проверить?Ошибка создания машинописных записей из папки node_modules

Ошибка:

c:/Dev/streak-maker/node_modules/angular2/src/core/change_detection/parser/locals.d.ts(3,14): error TS2304: Cannot find name 'Map'. 
c:/Dev/streak-maker/node_modules/angular2/src/core/change_detection/parser/locals.d.ts(4,42): error TS2304: Cannot find name 'Map'. 
c:/Dev/streak-maker/node_modules/angular2/src/core/debug/debug_node.d.ts(14,13): error TS2304: Cannot find name 'Map'. 
c:/Dev/streak-maker/node_modules/angular2/src/core/debug/debug_node.d.ts(24,17): error TS2304: Cannot find name 'Map'. 
c:/Dev/streak-maker/node_modules/angular2/src/core/debug/debug_node.d.ts(25,17): error TS2304: Cannot find name 'Map'. 
c:/Dev/streak-maker/node_modules/angular2/src/core/di/provider.d.ts(436,103): error TS2304: Cannot find name 'Map'. 
c:/Dev/streak-maker/node_modules/angular2/src/core/di/provider.d.ts(436,135): error TS2304: Cannot find name 'Map'. 
c:/Dev/streak-maker/node_modules/angular2/src/core/render/api.d.ts(13,13): error TS2304: Cannot find name 'Map'. 
c:/Dev/streak-maker/node_modules/angular2/src/core/render/api.d.ts(14,84): error TS2304: Cannot find name 'Map'. 
c:/Dev/streak-maker/node_modules/angular2/src/facade/collection.d.ts(1,25): error TS2304: Cannot find name 'MapConstructor'. 
c:/Dev/streak-maker/node_modules/angular2/src/facade/collection.d.ts(2,25): error TS2304: Cannot find name 'SetConstructor'. 
c:/Dev/streak-maker/node_modules/angular2/src/facade/collection.d.ts(4,27): error TS2304: Cannot find name 'Map'. 
c:/Dev/streak-maker/node_modules/angular2/src/facade/collection.d.ts(4,39): error TS2304: Cannot find name 'Map'. 
c:/Dev/streak-maker/node_modules/angular2/src/facade/collection.d.ts(7,9): error TS2304: Cannot find name 'Map'. 
c:/Dev/streak-maker/node_modules/angular2/src/facade/collection.d.ts(8,30): error TS2304: Cannot find name 'Map'. 
c:/Dev/streak-maker/node_modules/angular2/src/facade/collection.d.ts(11,43): error TS2304: Cannot find name 'Map'. 
c:/Dev/streak-maker/node_modules/angular2/src/facade/collection.d.ts(12,27): error TS2304: Cannot find name 'Map'. 
c:/Dev/streak-maker/node_modules/angular2/src/facade/collection.d.ts(14,23): error TS2304: Cannot find name 'Map'. 
c:/Dev/streak-maker/node_modules/angular2/src/facade/collection.d.ts(15,25): error TS2304: Cannot find name 'Map'. 
c:/Dev/streak-maker/node_modules/angular2/src/facade/collection.d.ts(95,41): error TS2304: Cannot find name 'Set'. 
c:/Dev/streak-maker/node_modules/angular2/src/facade/collection.d.ts(96,22): error TS2304: Cannot find name 'Set'. 
c:/Dev/streak-maker/node_modules/angular2/src/facade/collection.d.ts(97,25): error TS2304: Cannot find name 'Set'. 
c:/Dev/streak-maker/node_modules/angular2/src/facade/lang.d.ts(13,17): error TS2304: Cannot find name 'Map'. 
c:/Dev/streak-maker/node_modules/angular2/src/facade/lang.d.ts(14,17): error TS2304: Cannot find name 'Set'. 
c:/Dev/streak-maker/node_modules/angular2/src/facade/lang.d.ts(78,59): error TS2304: Cannot find name 'Map'. 
c:/Dev/streak-maker/node_modules/angular2/src/facade/promise.d.ts(1,10): error TS2304: Cannot find name 'Promise'. 
c:/Dev/streak-maker/node_modules/angular2/src/facade/promise.d.ts(3,14): error TS2304: Cannot find name 'Promise'. 
c:/Dev/streak-maker/node_modules/angular2/src/facade/promise.d.ts(8,32): error TS2304: Cannot find name 'Promise'. 
c:/Dev/streak-maker/node_modules/angular2/src/facade/promise.d.ts(9,38): error TS2304: Cannot find name 'Promise'. 
c:/Dev/streak-maker/node_modules/angular2/src/facade/promise.d.ts(10,35): error TS2304: Cannot find name 'Promise'. 
c:/Dev/streak-maker/node_modules/angular2/src/facade/promise.d.ts(10,93): error TS2304: Cannot find name 'Promise'. 
c:/Dev/streak-maker/node_modules/angular2/src/facade/promise.d.ts(11,34): error TS2304: Cannot find name 'Promise'. 
c:/Dev/streak-maker/node_modules/angular2/src/facade/promise.d.ts(12,32): error TS2304: Cannot find name 'Promise'. 
c:/Dev/streak-maker/node_modules/angular2/src/facade/promise.d.ts(12,149): error TS2304: Cannot find name 'Promise'. 
c:/Dev/streak-maker/node_modules/angular2/src/facade/promise.d.ts(13,43): error TS2304: Cannot find name 'Promise'. 
c:/Dev/streak-maker/node_modules/angular2/src/http/headers.d.ts(43,59): error TS2304: Cannot find name 'Map'. 
c:/Dev/streak-maker/node_modules/angular2/src/http/url_search_params.d.ts(11,16): error TS2304: Cannot find name 'Map'. 
c:/Dev/streak-maker/node_modules/angular2/src/platform/browser/browser_adapter.d.ts(75,33): error TS2304: Cannot find name 'Map'. 
c:/Dev/streak-maker/node_modules/angular2/src/platform/dom/dom_adapter.d.ts(85,42): error TS2304: Cannot find name 'Map'. 
c:/Dev/streak-maker/node_modules/rxjs/CoreOperators.d.ts(22,67): error TS2304: Cannot find name 'Promise'. 
c:/Dev/streak-maker/node_modules/rxjs/CoreOperators.d.ts(72,67): error TS2304: Cannot find name 'Promise'. 
c:/Dev/streak-maker/node_modules/rxjs/CoreOperators.d.ts(77,31): error TS2304: Cannot find name 'PromiseConstructor'. 
c:/Dev/streak-maker/node_modules/rxjs/CoreOperators.d.ts(77,54): error TS2304: Cannot find name 'Promise'. 
c:/Dev/streak-maker/node_modules/rxjs/Observable.d.ts(65,67): error TS2304: Cannot find name 'PromiseConstructor'. 
c:/Dev/streak-maker/node_modules/rxjs/Observable.d.ts(65,88): error TS2304: Cannot find name 'Promise'. 
c:/Dev/streak-maker/node_modules/rxjs/Observable.d.ts(72,84): error TS2304: Cannot find name 'Promise'. 
c:/Dev/streak-maker/node_modules/rxjs/Observable.d.ts(77,38): error TS2304: Cannot find name 'Promise'. 
c:/Dev/streak-maker/node_modules/rxjs/Observable.d.ts(100,66): error TS2304: Cannot find name 'Promise'. 
c:/Dev/streak-maker/node_modules/rxjs/Observable.d.ts(154,66): error TS2304: Cannot find name 'Promise'. 
c:/Dev/streak-maker/node_modules/rxjs/Observable.d.ts(159,31): error TS2304: Cannot find name 'PromiseConstructor'. 
c:/Dev/streak-maker/node_modules/rxjs/Observable.d.ts(159,54): error TS2304: Cannot find name 'Promise'. 

tsconfig.js

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

gulpfile.js (я бег встраиваемой машинописи задачи - я получаю те же ошибки, когда просто набрав TSC в командной строке)

/// <binding Build='default' /> 

var del = require('del'), 
    gulp = require("gulp"), 
    ts = require('gulp-typescript'), 
    watch = require('gulp-watch'); 

var webproj = "./src/StreakMaker.Web/"; 
var webroot = webproj + "wwwroot/"; 
var appsource = webproj + "App/"; 
var appout = webroot + "app/"; 
var jspmsource = "./jspm_packages/"; 
var jspmout = webroot + "jspm_packages/"; 

var paths = { 
    webroot: webroot, 
    src: appsource, 
    app: appout, 
    jspm: jspmsource, 
    jspm_out: jspmout 
}; 

gulp.task('watch', ['watch-typescript', 'watch-html']); 

gulp.task('watch-typescript', function(){ 
    gulp.watch(paths.src + '/**/*.ts', ['build-typescript']); 
}); 

gulp.task('clean-typescript', function() { 
    del([paths.app + '/**/*.ts']); 
}); 

gulp.task('build-typescript', ['clean-typescript'], function() { 
    var tsProject = ts.createProject('./tsconfig.json'); 

    gulp.src(paths.src + '/**/*.ts') 
     .pipe(ts(tsProject)) 
     .pipe(gulp.dest(paths.app)); 
}); 

gulp.task('watch-html', function() { 
    gulp.watch(paths.src + '/**/*.html', ['copy-html']); 
}); 

gulp.task('clean-html', function() { 
    del([paths.app + '/**/*.html']); 
}); 

gulp.task('copy-html', ['clean-html'], function() { 
    gulp.src(paths.src + '/**/*.html') 
     .pipe(gulp.dest(paths.app)); 
}); 

gulp.task('copy-jspm', ['clean-jspm', 'copy-config'], function() { 
    gulp.src(paths.jspm + "**/*.{js,css,map}") 
     .pipe(gulp.dest(paths.jspm_out)); 
}); 

gulp.task('clean-jspm', function(){ 
    del([paths.jspm_out + "**/*.*"]); 
}); 

gulp.task('copy-config', ['clean-config'], function(){ 
    gulp.src("./config.js") 
     .pipe(gulp.dest(paths.webroot)); 
}); 

gulp.task('clean-config', function(){ 
    del(paths.webroot + 'config.js'); 
}); 

gulp.task('default', ['build-typescript', 'copy-html', 'copy-jspm']); 

ответ

29

Я тоже боролся с этим.

Я добавил следующее в верхней части файла TS, который содержал импорт {самозагрузки} линия:

///<reference path="../node_modules/angular2/typings/browser.d.ts"/> 

Ваш путь может отличаться, конечно, для этого файла.

+1

отлично работает. –

+2

Это очень полезно (+1), и если вы следуете за [quickstart on angular.io] (https://angular.io/docs/ts/latest/quickstart.html), то напрямую ссылаются на верхние ряды : '/// ' –

+2

больше не работает с версией rc1 – jaumard

2

Хотя это решение

/// <reference path="../typings/browser.d.ts" /> 
import {bootstrap} from 'angular2/platform/browser'; 
import {AppComponent} from './app/main'; 

bootstrap(AppComponent); 

работает хорошо, Венна с помощью gulpjs Я предпочитаю, однако вместо того, чтобы заселить исходный файл с комментариями, добавление типизации файла непосредственно к источнику соответствующей задачи gulpjs, как, например:

gulp.task('typescript', function() { 
    return gulp 
    .src([ 
     'typings/browser.d.ts', 
     tsSrc + '**/*.ts' 
    ]) 
    .pipe(sourcemaps.init()) 
    .pipe(typescript(tscConfig.compilerOptions)) 
    .pipe(sourcemaps.write('.')) 
    .pipe(gulp.dest(appSrc + 'js/')); 
}); 
1

В RC1 демке прокладка обеспечиваются определение модуля и типа core-js управляется typings инструмента. Добавление typings/index.d.ts в gulp.src должно решить проблему:

function buildTypeScriptFn(files) { 
    files = files || ['app/**/*.ts','typings/index.d.ts']; 

    return function() { 
    var tsResult = gulp.src(files) 
     .pipe(changed(paths.dirs.build, { extension: '.js' })) 
     .pipe(ts(tscConfig.compilerOptions)); 

    return merge(tsResult.dts, tsResult.js) 
     .pipe(gulp.dest(paths.dirs.build)); 
    } 
} 

gulp.task('ts', buildTypeScriptFn()); 
+0

Спасибо, что это сработало – meffect

1

я была такая же проблема, просто попробуйте запустить не с «НПМИ начинает», , но с «НПМ перспективой облегченной». Его гораздо удобнее использовать.

+0

Это сработало для меня.будут ли в будущем какие-либо проблемы? –

14

Если вы ориентируетесь ES5, добавить "node_modules/Машинопись/Lib/lib.es6.d.ts" в tsconfig.json файл:

{ 
    "compilerOptions": { 
     "module": "commonjs", 
     "target": "es5", 
     "noImplicitAny": false, 
     "outDir": "built", 
     "rootDir": ".", 
     "sourceMap": false 
    }, 
    "files": [ 
     "helloworld.ts", 
     "node_modules/typescript/lib/lib.es6.d.ts" 
    ], 
    "exclude": [ 
     "node_modules" 
    ] 
} 
+2

Новый комментарий. Выполнение этого в visual studio 2015 привело к возникновению 43k новых ошибок построения скриптов. – bbsimonbb

+0

Это работало для меня, когда некоторые модули сказали, что они не могут найти свои зависимости. –

 Смежные вопросы

  • Нет связанных вопросов^_^