Псевдоним SCSS в Vue SFC через Rollup
При использовании Webpack довольно просто добавить псевдоним для файлов scss в Vue SFC, например:
<style lang="scss">
@import "~scss/config/config";
...
</style>
Было бы следующее в Webpack:
alias: {
sass: path.resolve(__dirname, '../scss/')
}
Как бы вы добавили такой же псевдоним в Rollup через rollup-plugin-vue
?
Я попытался добавить несколько плагинов postcss, например
import importer from 'postcss-import';
vue({
css: false,
style: {
postcssPlugins: [
importer({
path: null,
addModulesDirectories: [path.resolve(__dirname, '../shared')]
})
]
}
}),
Я также попробовал: rollup-plugin-alias
, rollup-plugin-includepaths
и некоторые другие плагины postcss.
0 ответов
Я не думаю, что вы можете использовать postcss
плагины внутри плагина Vue для достижения этой цели, потому что он компилирует scss
прежде чем он будет передан postcss
, С помощью rollup-vue-plugin
Я был в состоянии использовать style.preprocessOptions.scss.includePaths
к псевдонимам каталогов, в моем случае, указывая на node_modules
:
//rollup.config.js
import VuePlugin from 'rollup-plugin-vue'
...
plugins: [
VuePlugin({
style: {
preprocessOptions: {
scss: {
includePaths: ['node_modules'],
}
}
})
]
...
// some .vue file
<style>
@import 'some-node-module' //resolves to 'node_modules/some-node-module'
</style