Rollup-plugin-typescript2: Sintaks ini memerlukan pembantu yang diimpor tetapi modul 'tslib' tidak dapat ditemukan.

Dibuat pada 18 Apr 2017  ·  19Komentar  ·  Sumber: ezolenko/rollup-plugin-typescript2

Saya melihat bahwa kode memiliki beberapa referensi ke tslib dan importHelpers jadi saya menganggap ini harus bekerja secara transparan. Jika tidak, saya akan senang mengetahui apa yang hilang.

Berikut cara memperbanyak:

Paket yang diinstal:

$ npm ls --depth=0
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
└── [email protected]

tsconfig.json :

{
    "compilerOptions": {
        "target": "es5"
    }
}

rollup.config.js :

import typescript from 'rollup-plugin-typescript2';

export default {
    entry: './main.ts',

    plugins: [
        typescript()
    ]
}

main.ts :

import {Foo} from './module';

console.log("HERE" + Foo);

Dan module.ts :

export class Foo {}

export class Bar extends Foo {}

Saat menjalankan rollup sebagai berikut:

./node_modules/.bin/rollup -c rollup.config.js

Saya mendapatkan kesalahan ini:

🚨   rpt2: module.ts (3,18): semantic error TS2354 This syntax requires an imported helper but module 'tslib' cannot be found.
module.ts

Saya pikir ini karena sintaks extends memerlukan __extends helper dari tslib , tetapi TypeScript tidak dapat menemukan tslib .

Hasil yang diharapkan adalah pembantu yang dibutuhkan menjadi bagian dari bundel.

Terima kasih.

Komentar yang paling membantu

@hueitan saya menghadapi masalah yang sama saat sudah memiliki "moduleResolution": "node" . Memperbaikinya dengan menambahkan "tslib": "^1.10.0" ke devDependencies saya.

Semua 19 komentar

Ini seharusnya bekerja secara transparan (dan bekerja untuk saya di proyek saya sendiri). Saya akan mencoba pengaturan yang tepat Anda, terima kasih.

Sepertinya Anda memerlukan "moduleResolution": "node" di tsconfig, jika tidak, TypeScript tidak dapat menemukan tslib di node_modules.

Tidak yakin apakah itu dapat menimbulkan masalah pada pengaturan non-simpul, tetapi saya belum mendengar apa pun tentang efek itu.

Memang, dengan "moduleResolution": "node" , ini berfungsi seperti yang diharapkan. Membaca https://www.typescriptlang.org/docs/handbook/module-resolution.html , saya pikir "node" lebih cocok untuk saya, jadi saya akan menggunakannya saja. Bolehkah saya menyarankan untuk menyebutkan/merekomendasikannya di README?

Saya melihat bahwa Anda membuka #14 untuk kasus "classic" , jadi saya akan menutup ini. Terima kasih!

Tidak yakin ada orang lain yang menghadapi masalah yang sama dengan saya.

Saya mengalami masalah ini https://github.com/rollup/rollup-plugin-typescript/issues/109 , oleh karena itu saya beralih ke repo ini, tetapi kemudian saya mendapatkan kesalahan tslib .

karena tsconfig sudah "moduleResolution": "node"

Jika Anda memposting tsconfig, rollup config, dan package.json, seseorang mungkin menemukan sesuatu yang salah.

@hueitan saya menghadapi masalah yang sama saat sudah memiliki "moduleResolution": "node" . Memperbaikinya dengan menambahkan "tslib": "^1.10.0" ke devDependencies saya.

menambahkan tslib karena dependensi juga berfungsi untuk saya. meskipun bukan solusi yang cantik

tslib sudah menjadi ketergantungan rollup-plugin-typescript2 , bagaimana akhirnya hilang di sistem Anda?

Apakah Anda menggunakan npm install atau yang lainnya?

dalam kasus saya, saya menggunakan benang. Menghapus yarn.lock dan menginstal ulang yang baru, saya tidak perlu menyebutkan tslib secara eksplisit di package.json

Saya dapat mereproduksinya di repo berikut:

https://github.com/giniedp/tweak-ui

git clone [email protected]:giniedp/tweak-ui.git
cd tweak-ui
git checkout v0.1.0

sekarang edit package.json dan hapus tslib . Kemudian lakukan

yarn install
yarn run build

Anda harus mengalami

This syntax requires an imported helper named '__spreadArrays', but module 'tslib' has no exported member '__spreadArrays'

sekarang hapus yarn.lock dan kemudian

yarn install
yarn run build

berjalan dengan baik.

Ini diperbaiki dengan ini

@hueitan saya menghadapi masalah yang sama saat sudah memiliki "moduleResolution": "node" . Memperbaikinya dengan menambahkan "tslib": "^1.10.0" ke devDependencies saya.

Tetap! Milik saya berada dalam dependensi reguler.

Memperbaikinya dengan menambahkan "tslib": "^1.10.0" ke dependensi saya.

npm saya tslib -D

bekerja untuk saya juga

Seperti yang dikatakan @ezolenko : Sementara npm i tslib -D berfungsi, ini harus _not_ digunakan sebagai solusi, karena:

tslib sudah menjadi ketergantungan rollup-plugin-typescript2 , bagaimana akhirnya hilang di sistem Anda?

Apakah Anda menggunakan npm install atau yang lainnya?

Apa yang berhasil dalam kasus saya dan merupakan solusi yang lebih baik adalah menghapus package-lock dan node_modules dan menginstal ulang.

rm -rf ./node_modules
rm -rf ./package-lock.json
npm i

@hueitan saya menghadapi masalah yang sama saat sudah memiliki "moduleResolution": "node" . Memperbaikinya dengan menambahkan "tslib": "^1.10.0" ke devDependencies saya.

Terima kasih, sangat membantu

Tak satu pun dari solusi yang diusulkan bekerja untuk saya. Memutakhirkan rollup-plugin-typescript2 berhasil.

npm i [email protected]

Ternyata rollup menggunakan [email protected] bahkan ketika saya memiliki ^1.10.0 di devDependencies . Saya menyadari rollup-plugin-typescript2 menimpa versi tslib. Saya menggunakan v0.20.1 ; ditingkatkan ke v0.27.1 .

Perilaku aneh, Tetapi memulai ulang kode VS berhasil untuk saya. Saya tidak memiliki masalah sebelumnya, itu baru muncul setelah melakukan instalasi paket.

Memperbaikinya dengan menambahkan "tslib": "^1.10.0" ke dependensi saya.

Terima kasih. Baru saja ditambahkan ke peerDependencies dan berfungsi dengan baik untuk saya, tidak perlu menginstal

Saya mengalami kesalahan ini:

kesalahan semantik TS2343: Sintaks ini memerlukan impor
ted helper bernama '__spreadArray' yang tidak ada di 'tslib'. Pertimbangkan untuk memutakhirkan versi 'tslib' Anda.

Memperbaikinya dengan menambahkan "tslib": "^2.1.0" ke dependensi saya.

Anda cukup memutakhirkan versi tslib kami. Saya melakukan milik saya dari [email protected] ke tslib@^2.2.0 yang merupakan yang terbaru pada saat itu dan itu memperbaiki masalah "__spreadArray" saya.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat