Jam*_*son 7 rollup webpack vue.js rollupjs vuejs2
当使用 Webpack 时,在 Vue SFC 中为 scss 文件添加别名非常简单,例如:
<style lang="scss">
@import "~scss/config/config";
...
</style>
Run Code Online (Sandbox Code Playgroud)
在 Webpack 中将是以下内容:
alias: {
sass: path.resolve(__dirname, '../scss/')
}
Run Code Online (Sandbox Code Playgroud)
您将如何在 Rollup via 中添加相同类型的别名rollup-plugin-vue?
我试过添加一些 postcss 插件,例如
import importer from 'postcss-import';
vue({
css: false,
style: {
postcssPlugins: [
importer({
path: null,
addModulesDirectories: [path.resolve(__dirname, '../shared')]
})
]
}
}),
Run Code Online (Sandbox Code Playgroud)
我也试过:rollup-plugin-alias,rollup-plugin-includepaths和其他一些postcss插件。
小智 5
我不认为你可以使用postcssVue 插件中的插件来完成此任务,因为它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'],
}
}
})
]
...
Run Code Online (Sandbox Code Playgroud)
// some .vue file
<style>
@import 'some-node-module' //resolves to 'node_modules/some-node-module'
</style
Run Code Online (Sandbox Code Playgroud)