Я получаю Ошибка 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'] }
};
не должны 'tslib' быть зависимость, а не devDependency? –
да действительно. Я просто переехал, но проблема остается. – GaryB96
Я сожалею, что запутываю этот вопрос с помощью webpack сейчас. Я просто попробовал простую старую 'tsc' и до сих пор получаю node_modules/rxjs/Subscriber.d.ts (13,36): ошибка TS2354: для этого синтаксиса требуется импортированный помощник, но модуль tslib не может быть найден. – GaryB96