Vue.js lessで外部のlessファイルをImportする
Vue.js lessを使いwebpackでビルドするで.vue
ファイル(単一ファイルコンポーネント)のstyle
をcss
ではなくless
で実装して、webpack
でビルドをしました。
メインカラーなどの共通情報は外部のless
ファイルに記載し、各vue
ファイルではそのless
ファイルをImport
して実装するのが効率的です。
.vue
ファイル内のless
で外部のless
ファイルをImport
する方法を紹介します。
lessファイルの作成
js
フォルダと同じ階層にless
フォルダを作成します。
- node_modules
- public
- js
- index.html
- resources
- assets
- js
- less ←追加
- assets
- package.json
- webpack.config.json
追加したless
フォルダの中にvariables.less
というファイルを作成します。
variables.less
@red: #ff1122;
vueファイルの編集
通常のless
での実装と同じように上記で作成したファイルをインポートします。
各vue
ファイルを基準にした相対パスとなります。
App.vue
<style lang="less" scoped>
@import "./../../less/variables";
.message {
color: @red;
}
</style>
絶対パスで指定する方法
上記のように相対パスで指定すると、vue
ファイルのフォルダ構成が変わるたびにパスも修正しなければならないため、絶対パスで指定したいところです。
絶対パスで指定する方法をwebpack モジュールのパスを絶対パスで指定する方法で紹介します。