2016-12-13 6 views
0

Я получаю Ошибка TS2354: для этого синтаксиса требуется импортированный помощник, но модуль tslib не найден. на моем веб-пакете 2 с использованием новой опции importHelpers TypeScript 2.1. Пакет, похоже, построен так, как ожидалось, но сообщение об ошибке вызывает беспокойство. Может ли кто-нибудь указать, что я здесь делаю неправильно? Или это проблема с rxjs\Subject.d.ts за ошибку (указанная строка (Subject.d.ts: 9,43) действительно использует и невинное ключевое слово extends)?Как отключить сообщение об ошибке TS2354 в TypeScript 2.1.4?

ts-loader: Using [email protected] and C:Repro\stuff\tsconfig.json 
Hash: f24da06626836e4fc997 
Version: webpack 2.1.0-beta.28 
Time: 4256ms 
Asset  Size Chunks    Chunk Names 
app.js 3.01 kB  0 [emitted] app 
    [1] ./src/main.ts 372 bytes {0} [built] 
    + 1 hidden modules 

ERROR in C:Repro\stuff\node_modules\rxjs\Subject.d.ts 
(9,43): error TS2354: This syntax requires an imported helper but module 'tslib' cannot be found. 

main.ts

import { Observable } from "rxjs"; 

Observable.timer(3000, 5000) 
    .timeInterval() 
    .subscribe((interval) => console.log(interval)); 

package.json

{ 
    "name": "stuff", 
    "version": "1.0.0", 
    "scripts": { 
    "build": "webpack" 
    }, 
    "devDependencies": { 
    "@types/core-js": "^0.9.35", 
    "ts-loader": "^1.3.2", 
    "typescript": "^2.1.4", 
    "webpack": "^2.1.0-beta.25" 
    }, 
    "dependencies": { 
    "rxjs": "^5.0.1", 
    "tslib": "^1.2.0" 
    } 
} 

tsconfig.json

{ 
    "compilerOptions": { 
    "module": "commonjs", 
    "importHelpers": true, 
    "target": "es5", 
    "noEmitHelpers": true 
    } 
} 

webpack.config.js

module.exports = { 
    name: 'server', 
    target: 'node', 
    entry: { 'app': './src/main.ts' }, 
    output: { path: './bin/', publicPath: 'bin/', filename: '[name].js' }, 
    externals: { rxjs: 'commonjs rxjs' }, 
    module: { rules: [{ test: /\.ts$/, loader: 'ts-loader' }], }, 
    resolve: { extensions: ['.ts'] } 
}; 
+0

не должны 'tslib' быть зависимость, а не devDependency? –

+0

да действительно. Я просто переехал, но проблема остается. – GaryB96

+0

Я сожалею, что запутываю этот вопрос с помощью webpack сейчас. Я просто попробовал простую старую 'tsc' и до сих пор получаю node_modules/rxjs/Subscriber.d.ts (13,36): ошибка TS2354: для этого синтаксиса требуется импортированный помощник, но модуль tslib не может быть найден. – GaryB96

ответ