Rollup-plugin-typescript2: 이 κ΅¬λ¬Έμ—λŠ” κ°€μ Έμ˜¨ λ„μš°λ―Έκ°€ ν•„μš”ν•˜μ§€λ§Œ 'tslib' λͺ¨λ“ˆμ„ 찾을 수 μ—†μŠ΅λ‹ˆλ‹€.

에 λ§Œλ“  2017λ…„ 04μ›” 18일  Β·  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" λ™μ•ˆ λ™μΌν•œ λ¬Έμ œμ— μ§λ©΄ν–ˆμŠ΅λ‹ˆλ‹€. λ‚΄ devDependencies에 "tslib": "^1.10.0" λ₯Ό μΆ”κ°€ν•˜μ—¬ μˆ˜μ •ν–ˆμŠ΅λ‹ˆλ‹€.

λͺ¨λ“  19 λŒ“κΈ€

이것은 λΆ„λͺ…νžˆ 투λͺ…ν•˜κ²Œ μž‘λ™ν•΄μ•Ό ν•©λ‹ˆλ‹€(그리고 λ‚΄ ν”„λ‘œμ νŠΈμ—μ„œ μ €λ₯Ό μœ„ν•΄ μž‘λ™ν•©λ‹ˆλ‹€). μ •ν™•ν•œ 섀정을 μ‹œλ„ν•΄ λ³΄κ² μŠ΅λ‹ˆλ‹€. κ°μ‚¬ν•©λ‹ˆλ‹€.

tsconfig에 "moduleResolution": "node" κ°€ ν•„μš”ν•œ 것 κ°™μŠ΅λ‹ˆλ‹€. 그렇지 μ•ŠμœΌλ©΄ typescriptκ°€ node_modulesμ—μ„œ tslibλ₯Ό 찾을 수 μ—†μŠ΅λ‹ˆλ‹€.

이것이 λ…Έλ“œκ°€ μ•„λ‹Œ μ„€μ •μ—μ„œ 문제λ₯Ό μΌμœΌν‚¬ 수 μžˆλŠ”μ§€ ν™•μ‹€ν•˜μ§€ μ•Šμ§€λ§Œ 아직 κ·Έ νš¨κ³Όμ— λŒ€ν•΄ 듣지 λͺ»ν–ˆμŠ΅λ‹ˆλ‹€.

μ‹€μ œλ‘œ "moduleResolution": "node" λ₯Ό μ‚¬μš©ν•˜λ©΄ μ˜ˆμƒλŒ€λ‘œ μž‘λ™ν•©λ‹ˆλ‹€. https://www.typescriptlang.org/docs/handbook/module-resolution.html 을 읽고 "node" 이 λ‚˜μ—κ²Œ 더 μ ν•©ν•˜λ‹€κ³  μƒκ°ν•˜λ―€λ‘œ κ·Έλƒ₯ μ‚¬μš©ν•˜κ² μŠ΅λ‹ˆλ‹€. READMEμ—μ„œ μ–ΈκΈ‰/μΆ”μ²œμ„ μ œμ•ˆν•΄λ„ λ©λ‹ˆκΉŒ?

"classic" μΌ€μ΄μŠ€μ— λŒ€ν•΄ #14λ₯Ό μ—΄μ—ˆμœΌλ―€λ‘œ 이λ₯Ό μ’…λ£Œν•˜κ² μŠ΅λ‹ˆλ‹€. 감사 ν•΄μš”!

λ‚˜μ™€ 같은 λ¬Έμ œμ— 직면 ν•œ λ‹€λ₯Έ μ‚¬λžŒμ΄ μžˆλŠ”μ§€ ν™•μ‹€ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

이 λ¬Έμ œκ°€ https://github.com/rollup/rollup-plugin-typescript/issues/109 μ΄λ―€λ‘œ 이 μ €μž₯μ†Œλ‘œ μ „ν™˜ν–ˆμ§€λ§Œ 이 tslib 였λ₯˜κ°€ λ°œμƒν•©λ‹ˆλ‹€.

tsconfigλŠ” 이미 "moduleResolution": "node" μ΄λ―€λ‘œ

tsconfig, rollup config 및 package.json을 κ²Œμ‹œν•˜λ©΄ λˆ„κ΅°κ°€ 잘λͺ»λœ 것을 λ°œκ²¬ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

@hueitan 이미 "moduleResolution": "node" λ™μ•ˆ λ™μΌν•œ λ¬Έμ œμ— μ§λ©΄ν–ˆμŠ΅λ‹ˆλ‹€. λ‚΄ devDependencies에 "tslib": "^1.10.0" λ₯Ό μΆ”κ°€ν•˜μ—¬ μˆ˜μ •ν–ˆμŠ΅λ‹ˆλ‹€.

μ’…μ†μ„±μœΌλ‘œ tslib λ₯Ό μΆ”κ°€ν•˜λŠ” 것도 λ‚˜μ—κ²Œ 도움이 λ©λ‹ˆλ‹€. 비둝 예쁜 해결책은 μ•„λ‹ˆμ§€λ§Œ

tslib λŠ” 이미 rollup-plugin-typescript2 의 μ’…μ†μ„±μž…λ‹ˆλ‹€. μ–΄λ–»κ²Œ μ‹œμŠ€ν…œμ—μ„œ λˆ„λ½λ©λ‹ˆκΉŒ?

npm install λ˜λŠ” λ‹€λ₯Έ 것을 μ‚¬μš©ν•˜μ‹­λ‹ˆκΉŒ?

제 κ²½μš°μ—λŠ” 원사λ₯Ό μ‚¬μš©ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. yarn.lock을 μ‚­μ œν•˜κ³  μƒˆλ‘œ λ‹€μ‹œ μ„€μΉ˜ν•˜λ©΄ package.jsonμ—μ„œ tslib 에 λŒ€ν•œ λͺ…μ‹œμ μΈ 언급이 ν•„μš”ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

λ‹€μŒ λ¦¬ν¬μ§€ν† λ¦¬μ—μ„œ μž¬ν˜„ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

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" λ™μ•ˆ λ™μΌν•œ λ¬Έμ œμ— μ§λ©΄ν–ˆμŠ΅λ‹ˆλ‹€. λ‚΄ devDependencies에 "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" λ™μ•ˆ λ™μΌν•œ λ¬Έμ œμ— μ§λ©΄ν–ˆμŠ΅λ‹ˆλ‹€. λ‚΄ devDependencies에 "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: 이 κ΅¬λ¬Έμ—λŠ” κ°€μ Έμ˜€κΈ°κ°€ ν•„μš”ν•©λ‹ˆλ‹€.
'tslib'에 μ‘΄μž¬ν•˜μ§€ μ•ŠλŠ” '__spreadArray'λΌλŠ” ted λ„μš°λ―Έ. 'slib' 버전을 μ—…κ·Έλ ˆμ΄λ“œν•˜λŠ” 것을 κ³ λ €ν•˜μ‹­μ‹œμ˜€.

λ‚΄ 쒅속성에 "tslib": "^2.1.0"을 μΆ”κ°€ν•˜μ—¬ μˆ˜μ •ν–ˆμŠ΅λ‹ˆλ‹€.

tslib 버전을 κ°„λ‹¨νžˆ μ—…κ·Έλ ˆμ΄λ“œν•  수 μžˆμŠ΅λ‹ˆλ‹€. λ‚˜λŠ” [email protected] μ—μ„œ λ‹Ήμ‹œ μ΅œμ‹  버전인 tslib@^2.2.0 으둜 λ‚΄ μž‘μ—…μ„ μˆ˜ν–‰ "__spreadArray" 문제λ₯Ό μˆ˜μ •ν–ˆμŠ΅λ‹ˆλ‹€.

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰