※ この記事の方法のほうがシンプルでよさそう(SvelteKit限定?)
※ ほとんどこちらの記事の意訳です。
やりたいこと
コンポーネントをimportするときのパス指定を、絶対パスで書きたい。
ありのままのSvelte
.svelte
import Component from "../../../../components/Component.svelte";
(読み込みたいファイルと、読み込むファイルが離れれば離れるほど、パス指定が面倒になる。)
理想のSvelte
.svelte
import Component from "components/Component.svelte";
やりかた
@rollup/plugin-alias
をインストールする
Terminal
npm install @rollup/plugin-alias --save-dev
rollup.config.js
で読み込む
(rollup.config.js
は、Svelteプロジェクト作成時に自動的に生成されているハズ)
rollup.config.js
import alias from '@rollup/plugin-alias';
rollup.config.js
に絶対パスの定義(ルール)を書き込む
rollup.config.js
const aliases = alias({
resolve: ['.svelte', '.js'], // どの拡張子のファイルでこのルールを有効にするか
entries: [
// find: 絶対パスの書き方 // replacement: その書き方で、どのフォルダを指すか
// 以下は参考例です。
{ find: '', replacement: 'src/' },
{ find: 'components', replacement: 'src/components' },
]
});
rollup.config.js
のexport default
に追記する
export default
自体はすでに書き込まれていて、
input
、output
、plugins
などの項目が既に存在しているハズ。
そのplugins
の配列の中に、さきほど定義したaliases
を追加してあげる。
rollup.config.js
export default {
input: ...
output: ...
plugins: [
aliases, //←これを追加する。
//以下略
これで絶対パス指定ができるようになりました。
めでたしめでたし。