2016-11-28 4 views
0

Я учусь Угловые 2, после этого https://angular.io/docs/ts/latest/cookbook/aot-compiler.htmlУгловой 2 - AoT компилятор

и использовать эту команду, чтобы скомпилировать мое приложение.

"node_modules/.bin/ngc" -p tsconfig-aot.json 

Однако, я получил только node_modules сгенерированный, ничего из моего приложения. enter image description here

Похоже, что это проблема, вы можете помочь в решении альтернативного решения?

и здесь являются TSconfig-aot.json

{ 
    "compilerOptions": { 
    "target": "es5", 
    "module": "es2015", 
    "moduleResolution": "node", 
    "outDir": "./aot", 
    "sourceMap": true, 
    "emitDecoratorMetadata": true, 
    "experimentalDecorators": true, 
    "lib": [ "es2015", "dom" ], 
    "removeComments": false, 
    "noImplicitAny": true, 
    "suppressImplicitAnyIndexErrors": true, 
    "types": [] 
    }, 

    "files": [ 
    "app/app.module.ts", 
    "app/main.ts" 
    ], 

    "angularCompilerOptions": { 
    "genDir": "./aot", 
    "skipMetadataEmit": true 
    } 
} 

//https://github.com/angular/angular/issues/11689 

и package.json

{ 
    "name": "angular2-quickstart", 
    "version": "1.0.0", 
    "scripts": { 
    "start": "tsc && concurrently \"npm run tsc:w\" \"npm run lite\" ", 
    "lite": "lite-server", 
    "postinstall": "typings install", 
    "tsc": "tsc", 
    "tsc:w": "tsc -w", 
    "typings": "typings" 
    }, 
    "license": "ISC", 
    "dependencies": { 
    "@angular/common": "^2.2.3", 
    "@angular/compiler": "^2.2.3", 
    "@angular/compiler-cli": "^2.2.3", 
    "@angular/core": "^2.2.3", 
    "@angular/forms": "^2.2.3", 
    "@angular/http": "^2.2.3", 
    "@angular/platform-browser": "^2.2.3", 
    "@angular/platform-browser-dynamic": "^2.2.3", 
    "@angular/platform-server": "^2.2.3", 
    "@angular/router": "^3.2.3", 
    "@angular/upgrade": "^2.2.3", 
    "bootstrap": "^3.3.6", 
    "core-js": "^2.4.1", 
    "reflect-metadata": "^0.1.3", 
    "rxjs": "^5.0.0-rc.4", 
    "systemjs": "^0.19.41", 
    "typescript": "^2.0.10", 
    "typings": "^1.5.0", 
    "zone.js": "^0.6.23" 
    }, 
    "devDependencies": { 
    "concurrently": "^2.2.0", 
    "lite-server": "^2.2.2", 
    "typescript": "^2.0.2", 
    "typings": "^1.3.2" 
    } 
} 

Отредактировано: Я искать вокруг, кто-то советует понижая тип скрипта 2.0.10 помогает, но это не работает для меня.

Я использую Windows 7

ответ

1

Я сомневаюсь, что есть альтернативное решение для этого, так как угловой компилятор в основном оборачивает машинопись компилятор. У меня не было возможности попробовать это в угловом v2.4.0, но это можно было бы зафиксировать в этой версии углового компилятора.

Если вы все еще застряли в угловом v2.2.3, тогда будет работать понижающий машинописный текст до 2.0.10. В вашем packages.json убедитесь, что версия машинописи зависимости задается следующим образом:

"devDependencies": { 
    ... 
    "typescript": "~2.0.10", 
    ... 
} 

или для этой конкретной версии, например:

"devDependencies": { 
    ... 
    "typescript": "2.0.10", 
    ... 
} 

В вашем примере вы указали диапазон каретки, так НПЙ получил последнюю версию, имеющую основную версию 2, то есть 2.1.x. https://docs.npmjs.com/misc/semver#caret-ranges-123-025-004

+1

В моем случае мне нужно было понизить до 2.0.2. Просто что бы ты знал. – echonax

+0

спасибо Daryl и echomax, я переключаюсь на использование Angular2 CLI, он отлично работает для меня. Я еще не пробовал ваше предложение, но ваш комментарий о «каретках» действительно помогает – khoailang