gpt4 book ai didi

vue.js - Vue SFC 中的 SCSS 别名通过 Rollup

转载 作者:搜寻专家 更新时间:2023-10-30 22:50:16 25 4
gpt4 key购买 nike

当使用 Webpack 时,可以非常直接地在 Vue SFC 中为 scss 文件添加别名,例如:

<style lang="scss">
@import "~scss/config/config";
...
</style>

在 Webpack 中将是以下内容:

alias: {
sass: path.resolve(__dirname, '../scss/')
}

如何通过 rollup-plugin-vue 在 Rollup 中添加相同类型的别名?

我试过添加一些 postcss 插件,例如

import importer from 'postcss-import';

vue({
css: false,
style: {
postcssPlugins: [
importer({
path: null,
addModulesDirectories: [path.resolve(__dirname, '../shared')]
})
]
}
}),

我也尝试过:rollup-plugin-aliasrollup-plugin-includepaths 和其他一些 postcss 插件。

最佳答案

我认为您不能在 Vue 插件中使用 postcss 插件来完成此操作,因为它会在 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

关于vue.js - Vue SFC 中的 SCSS 别名通过 Rollup,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53442900/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com