Rollup-plugin-typescript2: يتطلب بناء الجملة هذا مساعدًا مستوردًا ولكن لا يمكن العثور على الوحدة النمطية "tslib".

تم إنشاؤها على ١٨ أبريل ٢٠١٧  ·  19تعليقات  ·  مصدر: ezolenko/rollup-plugin-typescript2

أرى أن الكود يحتوي على بعض الإشارات إلى tslib و importHelpers لذلك أفترض أن هذا يجب أن يعمل بشفافية. إذا لم يكن الأمر كذلك ، فسأكون سعيدًا بمعرفة ما هو مفقود.

إليك كيفية التكاثر:

الحزم المثبتة:

$ 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);

و module.ts :

export class Foo {}

export class Bar extends Foo {}

عند تشغيل التراكمية على النحو التالي:

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

لقد تلقيت هذا الخطأ:

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

أعتقد أن السبب في ذلك هو أن بناء الجملة extends يتطلب مساعدًا __extends من tslib ، لكن الكتابة المطبوعة لا يمكنها العثور على tslib .

النتيجة المتوقعة هي أن يصبح المساعدون المطلوبون جزءًا من الحزمة.

شكرا.

التعليق الأكثر فائدة

hueitan لقد واجهت نفس المشكلة بينما كان لدي بالفعل "moduleResolution": "node" . تم إصلاحها عن طريق إضافة "tslib": "^1.10.0" إلى تبعيات التطوير الخاصة بي.

ال 19 كومينتر

من المؤكد أن هذا من المفترض أن يعمل بشفافية (ويعمل معي في مشاريعي الخاصة). سأحاول الإعداد الدقيق الخاص بك ، شكرا.

يبدو أنك بحاجة إلى "moduleResolution": "node" في tsconfig ، وإلا فلن تتمكن الكتابة المطبوعة من العثور على tslib في node_modules.

لست متأكدًا مما إذا كان ذلك قد يسبب مشاكل في الإعدادات التي لا تحتوي على عقدة ، لكنني لم أسمع أي شيء بهذا المعنى حتى الآن.

في الواقع ، مع "moduleResolution": "node" ، فإنه يعمل كما هو متوقع. عند قراءة https://www.typescriptlang.org/docs/handbook/module-resolution.html ، أعتقد أن "node" يناسبني بشكل أفضل ، لذا سأستخدمه فقط. هل يمكنني اقتراح ذكره / التوصية به في README؟

أرى أنك فتحت رقم 14 للحالة "classic" ، لذا سأغلق هذا. شكرا!

لست متأكدا من أن أي شخص آخر يواجه نفس مشكلتي.

كنت أواجه هذه المشكلة https://github.com/rollup/rollup-plugin-typescript/issues/109 ، لذلك قمت بالتبديل إلى هذا الريبو ، ولكن بعد ذلك أتلقى هذا الخطأ tslib .

لأن tsconfig هو بالفعل "moduleResolution": "node"

إذا قمت بنشر tsconfig و rollup config و package.json ، فقد يكتشف شخص ما شيئًا غير صحيح.

hueitan لقد واجهت نفس المشكلة بينما كان لدي بالفعل "moduleResolution": "node" . تم إصلاحها عن طريق إضافة "tslib": "^1.10.0" إلى تبعيات التطوير الخاصة بي.

إضافة tslib لأن التبعيات تعمل معي أيضًا. على الرغم من أنه ليس الحل الجميل

tslib هو بالفعل تبعية rollup-plugin-typescript2 ، كيف ينتهي به الأمر في عداد المفقودين على نظامك؟

هل تستخدم npm install أو أي شيء آخر؟

في حالتي أنا أستخدم الغزل. حذف yarn.lock وإعادة تثبيت جديد ، لست بحاجة إلى ذكر صريح لـ tslib في الحزمة. json

يمكنني إعادة إنتاجه في الريبو التالي:

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

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

الآن قم بتحرير package.json وقم بإزالة tslib . ثم افعل

yarn install
yarn run build

يجب أن تصادف

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

الآن احذف yarn.lock وبعد ذلك

yarn install
yarn run build

يعمل بشكل جيد.

تم إصلاح هذا مع هذا

hueitan لقد واجهت نفس المشكلة بينما كان لدي بالفعل "moduleResolution": "node" . تم إصلاحها عن طريق إضافة "tslib": "^1.10.0" إلى تبعيات التطوير الخاصة بي.

مثبت! كان المنجم في التبعيات العادية.

تم إصلاحه بإضافة "tslib": "^ 1.10.0" إلى التبعيات الخاصة بي.

npm أنا tslib -D

عملت لي أيضا

مثل ezolenko يقول: بينما npm i tslib -D يعمل ، لا يجب استخدام هذا كحل ، لأن:

tslib هو بالفعل تبعية rollup-plugin-typescript2 ، كيف ينتهي به الأمر في عداد المفقودين على نظامك؟

هل تستخدم npm install أو أي شيء آخر؟

ما نجح في حالتي وهو الحل الأفضل هو حذف package-lock و node_modules وإعادة التثبيت.

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

hueitan لقد واجهت نفس المشكلة بينما كان لدي بالفعل "moduleResolution": "node" . تم إصلاحها عن طريق إضافة "tslib": "^1.10.0" إلى تبعيات التطوير الخاصة بي.

شكرا لك ، إنه مفيد جدا

لم يعمل أي من الحلول المقترحة بالنسبة لي. ترقية rollup-plugin-typescript2 هي الحل.

npm i [email protected]

اتضح أن التجميع كان يستخدم [email protected] حتى عندما كان لدي ^1.10.0 في devDependencies . أدركت أن rollup-plugin-typescript2 تجاوز إصدار tslib. كنت أستخدم v0.20.1 ؛ تمت ترقيته إلى v0.27.1 .

سلوك غريب ، لكن إعادة تشغيل رمز VS عملت معي. لم تكن لدي المشكلة من قبل ، لقد ظهرت للتو بعد إجراء تثبيت الحزمة.

تم إصلاحه بإضافة "tslib": "^ 1.10.0" إلى التبعيات الخاصة بي.

شكرا. تمت إضافته للتو إلى peerDependencies وهو يعمل جيدًا بالنسبة لي ، لا تحتاج إلى التثبيت

كان لدي هذا الخطأ:

الخطأ الدلالي TS2343: يتطلب بناء الجملة هذا أهمية
مساعد ted المسمى "__spreadArray" والذي لا يوجد في "tslib". ضع في اعتبارك ترقية إصدارك من "tslib".

تم إصلاحه بإضافة "tslib": "^ 2.1.0" إلى التبعيات الخاصة بي.

يمكنك ببساطة ترقية إصدار tslib الخاص بنا. لقد قمت بعملي من [email protected] وهو الأحدث بمرور الوقت وتم إصلاح مشكلة "__spreadArray" الخاصة بي .

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات