From 3f0f3e4474e88f6066bb1eff58f9c7b2b1c2bfca Mon Sep 17 00:00:00 2001 From: chenjiahan Date: Wed, 2 Dec 2020 15:49:34 +0800 Subject: [PATCH] feat(cli): support sass tilde importer --- packages/vant-cli/src/compiler/compile-sass.ts | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/packages/vant-cli/src/compiler/compile-sass.ts b/packages/vant-cli/src/compiler/compile-sass.ts index b5fa2beeb..e4c0be017 100644 --- a/packages/vant-cli/src/compiler/compile-sass.ts +++ b/packages/vant-cli/src/compiler/compile-sass.ts @@ -1,6 +1,21 @@ import { renderSync } from 'sass'; +// allow to import from node_modules +// @import "~package-name/var.scss" +const tildeImporter = (url: string) => { + if (url.includes('~')) { + url = url.replace('~', ''); + + if (!url.includes('.scss')) { + url += '.scss'; + } + + url = require.resolve(url); + } + return { file: url }; +}; + export async function compileSass(filePath: string) { - const { css } = renderSync({ file: filePath }); + const { css } = renderSync({ file: filePath, importer: tildeImporter }); return css; }