ΡΠ·Π΅Π» 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
ΠΎΠ½ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π½Π°ΠΉΡΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ
ΠΡ ΠΏΡΡΠ°Π»ΠΈΡΡ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ alias() ΠΏΠ΅ΡΠ΅Π΄ typescript()?
ΠΠΎΠΆΠ½ΠΎ Π»ΠΈ ΠΎΠ±ΠΎΠΉΡΠΈ ΡΡΠΎ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ baseUrl
Π² tsconfig?
Π‘ΠΌΠΎΡΡΠΈΡΠ΅ Π±ΠΎΠ»ΡΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π·Π΄Π΅ΡΡ:
https://decembersoft.com/posts/say-goodbye-to-relative-paths-in-typescript-imports/
ΠΠ΅ΡΠΎΡΡΠ½Π°Ρ Π²Π΅ΡΡ Π·Π°ΠΊΠ°Π·Π° ΠΏΠ»Π°Π³ΠΈΠ½Π°
Π― ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°Π» ΡΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ. Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌ ΠΏΠ΅ΡΠ΅Π΄ typescript2 Π½Π΅ ΠΏΠΎΠΌΠΎΠ³Π»ΠΎ =(
Π― ΡΡΠΎΠ»ΠΊΠ½ΡΠ»ΡΡ Ρ ΡΠΎΠΉ ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ @rollup/plugin-alias
ΠΈ @rollup/plugin-typescript
.
ΠΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ alias
Π½Π° typescript
ΡΠ΅ΡΠ°Π΅Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ.
Π‘Π°ΠΌΡΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ
Π― ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°Π» ΡΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ. Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌ ΠΏΠ΅ΡΠ΅Π΄ typescript2 Π½Π΅ ΠΏΠΎΠΌΠΎΠ³Π»ΠΎ =(