截至目前,我可以通过以下方式vite@2.1.5
解决@
和别名的解析:~
添加vite 别名
修改vite.config.js
如中所述readme.md
使用别名为引用的 scss 文件添加~
别名,如下所示:
aliases.push({ find: '~bootstrap', replacement: 'bootstrap' })
现在vite.config.js
看起来如下:
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import { getAliases } from 'vite-aliases'
const aliases = getAliases();
// add aliases to import scss from node_modules here
aliases.push({ find: '~bootstrap', replacement: 'bootstrap' })
// https://vitejs.dev/config/
export default defineConfig({
plugins: [vue()],
resolve: {
alias: aliases
},
css: {
preprocessorOptions: {
scss: {
additionalData: '@import "@scss/shared.scss";'
}
}
}
})
这使我可以按如下方式导入 scss 文件:
在src/main.ts
:
import '@scss/main.scss'
在src/scss/main.scss
:
@import "~bootstrap/scss/bootstrap";
显然,如果需要从 的子目录中导入更多的 scss 文件,则node_modules
需要在aliases
. 省略用于导入的波浪号别名是可行的bootstrap.scss
,但我的 IDE 无法识别它。在每个 vue SFC 中添加要导入的css.preprocessorOptions.scss.additionalData
原因。shared.scss