2017-01-24 5 views
4

Я пытаюсь использовать асинхронной/ждут функции с angular2-webpack-starer и typescript (которые теперь имеют поддержку этой функции таргетинга ES5), но я получаю сообщение об ошибке: enter image description hereасинхронной/Await __generator не определен

Это код внутри компонента:

// function inside component 
async checkSlug(slug: string) { 
     // nothing here 
} 

Я использую webpack2.2 и машинописные тексты 2.1.5. Это мой TSconfig:

{ 
    "compilerOptions": { 
    "target": "es5", 
    "module": "commonjs", 
    "moduleResolution": "node", 
    "emitDecoratorMetadata": true, 
    "experimentalDecorators": true, 
    "allowSyntheticDefaultImports": true, 
    "sourceMap": true, 
    "noEmit": true, 
    "noEmitHelpers": true, 
    "strictNullChecks": false, 
    "baseUrl": "./src", 
    "paths": { 
    }, 
    "lib": [ 
     "dom", 
     "es7", 
     "es2015.promise" 
    ], 
    "types": [ 
     "hammerjs", 
     "jasmine", 
     "node", 
     "protractor", 
     "selenium-webdriver", 
     "source-map", 
     "uglify-js", 
     "webpack", 
     "chai", 
     "chai-as-promised", 
     "lodash" 
    ] 
    }, 
    "exclude": [ 
    "node_modules", 
    "dist" 
    ], 
    "awesomeTypescriptLoaderOptions": { 
    "forkChecker": true, 
    "useWebpackText": true 
    }, 
    "compileOnSave": false, 
    "buildOnSave": false, 
    "atom": { "rewriteTsconfig": false } 
} 
+2

Вы сказали компилятор не генерировать эту вспомогательную функцию для вас с ' "noEmitHelpers": true'. Если вы установите значение false, оно должно работать. В противном случае вам необходимо предоставить вспомогательную функцию. См. Https://blog.mariusschulz.com/2016/12/16/typescript-2-1-external-helpers-library – JohnnyHK

ответ

3

Хорошо, это tsconfig.json работает

{ 
    "compilerOptions": { 
    "target": "es5", 
    "module": "commonjs", 
    "moduleResolution": "node", 
    "emitDecoratorMetadata": true, 
    "experimentalDecorators": true, 
    "allowSyntheticDefaultImports": true, 
    "sourceMap": true, 
    "noEmit": true, 
    "noEmitHelpers": false, 
    "strictNullChecks": false, 
    "baseUrl": "./src", 
    "paths": { 
    }, 
    "lib": [ 
     "dom", 
     "es7", 
     "es5", 
     "es2015.promise" 
    ], 
    "types": [ 
     "hammerjs", 
     "jasmine", 
     "node", 
     "protractor", 
     "selenium-webdriver", 
     "source-map", 
     "uglify-js", 
     "webpack", 
     "chai", 
     "chai-as-promised", 
     "lodash" 
    ] 
    }, 
    "exclude": [ 
    "node_modules", 
    "dist" 
    ], 
    "awesomeTypescriptLoaderOptions": { 
    "forkChecker": true, 
    "useWebpackText": true 
    }, 
    "compileOnSave": false, 
    "buildOnSave": false, 
    "atom": { "rewriteTsconfig": false } 
} 
+1

Этот ответ более ясен о решении: https://stackoverflow.com/a/42426996/1569600 'noEmitHelpers: false' –

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