vue.js - 通过 Rollup 在 Vue SFC 中使用 SCSS 别名
问题描述
当使用 Webpack 时,在 Vue SFC 中为 scss 文件添加别名非常简单,例如:
<style lang="scss">
@import "~scss/config/config";
...
</style>
在 Webpack 中将如下所示:
alias: {
sass: path.resolve(__dirname, '../scss/')
}
您将如何在 Rollup via 中添加相同类型的别名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 插件。
解决方案
我认为您不能使用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
推荐阅读
- apache - 即使在服务器上启用 Gzip 压缩也不起作用
- sql-server - 有没有办法在查询 XML 时将变量作为单例传递?
- azure-devops - 自定义 azure-devops backlog 的板视图的列
- python - 在 MSYS2 shell 中访问 Numpy(MINGW64 工作正常,Windows 10)?
- azure-stream-analytics - 当列存在时,流分析中的列名无效
- javascript - 在 React 应用程序中重定向用户的最佳实践是什么?
- android - 如何确定将图标的大小添加到快餐栏
- php - WooCommerce 扩展 - 重定向到“支付”端点时适用的钩子
- ajax - 如何从 ajax 调用返回响应以存储在变量中?
- azure-devops - MSBUILD 因错误 MSB4062 而失败