μ½λμ 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
.
μμλλ κ²°κ³Όλ νμν λμ°λ―Έκ° λ²λ€μ μΌλΆκ° λλ κ²μ λλ€.
κ°μ¬ ν΄μ.
μ΄κ²μ λΆλͺ ν ν¬λͺ νκ² μλν΄μΌ ν©λλ€(κ·Έλ¦¬κ³ λ΄ νλ‘μ νΈμμ μ λ₯Ό μν΄ μλν©λλ€). μ νν μ€μ μ μλν΄ λ³΄κ² μ΅λλ€. κ°μ¬ν©λλ€.
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" λ¬Έμ λ₯Ό μμ νμ΅λλ€.
κ°μ₯ μ μ©ν λκΈ
@hueitan μ΄λ―Έ
"moduleResolution": "node"
λμ λμΌν λ¬Έμ μ μ§λ©΄νμ΅λλ€. λ΄ devDependenciesμ"tslib": "^1.10.0"
λ₯Ό μΆκ°νμ¬ μμ νμ΅λλ€.