๋ ธ๋ v8.9.1
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' ),
} ),
],
};
{
"compilerOptions": {
"target": "es2015"
}
}
{
"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"
}
}
// ./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
๋ฅผ ํจ๊ป ์ฌ์ฉํ๋ฉด ๋ชจ๋์ ์ฐพ์ ์ ์์ต๋๋ค.
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
๋ก ์ด๋ํ๋ฉด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋ฉ๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
์ด ๊ตฌ์ฑ์ ์๋ํ์ต๋๋ค. ๋์์ด ๋์ง ์๋ typescript2 ์์ ๋ณ์นญ ์ค์ =(