Rollup-plugin-typescript2: ๋กค์—… ํ”Œ๋Ÿฌ๊ทธ์ธ ๋ณ„์นญ๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉ

์— ๋งŒ๋“  2018๋…„ 03์›” 13์ผ  ยท  4์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: ezolenko/rollup-plugin-typescript2

๋ชจ๋“ˆ์„ ์ฐพ์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค.

ํ™˜๊ฒฝ

๋…ธ๋“œ v8.9.1

๋ฒ„์ „

  • ํƒ€์ดํ”„์Šคํฌ๋ฆฝํŠธ: 2.7.2
  • ๋กค์—…: 0.56.5
  • ๋กค์—… ํ”Œ๋Ÿฌ๊ทธ์ธ typescript2: 0.12.0

๋กค์—….config.js

const path = require('path');

import typescript from 'rollup-plugin-typescript2';
import alias from 'rollup-plugin-alias';

export default {
    input: './src/index.ts',
    output: {
        file: 'build.js',
        format: 'umd',
        name: 'build',
    },
    plugins: [
        typescript( ),
        alias( {
            core: path.resolve( __dirname, './src/core' ),
        } ),
    ],
};

tsconfig.json

{
    "compilerOptions": {
        "target": "es2015"
    }
}

ํŒจํ‚ค์ง€.json

{
  "name": "rollup-demo",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "build": "rollup -c ./rollup.config.js"
  },
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "rollup": "^0.56.5",
    "rollup-plugin-alias": "^1.4.0",
    "rollup-plugin-typescript2": "^0.12.0",
    "typescript": "^2.7.2"
  }
}

TS ํŒŒ์ผ

// ./src/index.ts
import A from 'core/a';
export { A };
// ./src/core/a.ts
export default function  () {
    const x = 12;
    console.log( x );
};

์˜ค๋ฅ˜

rollup-demo/src/index.ts(1,15): semantic error TS2307 Cannot find module 'core/a'.

๋ฌธ์ œ

rollup-plugin-alias ๋งŒ ์‚ฌ์šฉํ•˜๋ฉด ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ rollup-plugin-typescript2 ๋ฅผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๋ฉด ๋ชจ๋“ˆ์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

์ด ๊ตฌ์„ฑ์„ ์‹œ๋„ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋„์›€์ด ๋˜์ง€ ์•Š๋Š” typescript2 ์•ž์— ๋ณ„์นญ ์„ค์ • =(

๋ชจ๋“  4 ๋Œ“๊ธ€

typescript() ์•ž์— alias()๋ฅผ ๋ฐฐ์น˜ํ•ด ๋ณด์…จ์Šต๋‹ˆ๊นŒ?

tsconfig์—์„œ baseUrl ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

์—ฌ๊ธฐ์—์„œ ๋” ๋งŽ์€ ์ •๋ณด๋ฅผ ํ™•์ธํ•˜์„ธ์š”:
https://decembersoft.com/posts/say-goodbye-to-relative-paths-in-typescript-imports/

ํ”Œ๋Ÿฌ๊ทธ์ธ ์ฃผ๋ฌธ ๊ฐ€๋Šฅ์„ฑ

์ด ๊ตฌ์„ฑ์„ ์‹œ๋„ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋„์›€์ด ๋˜์ง€ ์•Š๋Š” typescript2 ์•ž์— ๋ณ„์นญ ์„ค์ • =(

@rollup/plugin-alias ๋ฐ @rollup/plugin-typescript ์‚ฌ์šฉํ•  ๋•Œ๋„ ๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.
alias ๋ฅผ typescript ๋กœ ์ด๋™ํ•˜๋ฉด ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋ฉ๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰