Googleドライブの仕様が変わっていて「マイドライブ」で同期するローカルフォルダの変更に手間取ったお話
[2023/02/22]
@import "../node_modules/folder/file.sass";
のように書かなくても
@import "~folder/file.sass";
と書けば sass-loader がよしなに解決してくれる。
Vue CLI でサイトを作っていたのですが、機能をだいだい実装し終わって、じゃデザインに…と思ったところで、さすがにゼロから自分で css 書くのダル過ぎる…というわけで、 Bulma を導入することに。
後から適用するには…?と調べていて、参考にさせて頂いた記事がこちら。
npm install bulma
として bluma をインストールしたら、元から記述されている
<style lang="scss">
の次に
@import "../node_modules/bulma/bulma.sass";
と追記。
うーむ、ここで ../node_modules/ って相対指定するのなんかヤダなぁ…と思って調べた結果、
Resolving
import
at-rulesWebpack provides an advanced mechanism to resolve files.
The
sass-loader
uses Sass’s custom importer feature to pass all queries to the Webpack resolving engine. Thus you can import your Sass modules fromnode_modules
. Just prepend them with a~
to tell Webpack that this is not a relative import:@import"~bootstrap";It’s important to only prepend it with
~
, because~/
resolves to the home directory. Webpack needs to distinguish betweenbootstrap
and~bootstrap
because CSS and Sass files have no special syntax for importing relative files. Writing@import "style.scss"
is the same as@import "./style.scss";
と言うことだそうで、
@import "~bulma/bulma.sass";
と指定してやれば sass-loader が解決してくれるのでした。(説明にあるように、先頭につけるのは ~ のみであって、 ~/ ってやってしまうとハマります。)
ディスカッション
コメント一覧
まだ、コメントがありません