Mic*_*ael 8 laravel vue.js laravel-mix
我正在尝试将 app.scss 导入到 application.vue 中,但不断收到别名 sass 无法识别的错误。我在网上查看了如何将别名添加到我的混合文件中,我有以下 webpack.mix.js。在我的 vue 组件中,我有以下代码
<style lang="scss">
@import 'sass/app.scss';
html, body{
margin: 0px;
padding: 0px;
background-color: $secondary-color;
}
</style>
Run Code Online (Sandbox Code Playgroud)
在我的 webpack.mix.js 中
const mix = require('laravel-mix');
mix.webpackConfig({
resolve: {
alias: {
'@': path.resolve(__dirname,'/resources/js'),
'sass': path.resolve(__dirname, '/resources/assets/sass')
},
},
});
mix.js('resources/js/app.js', 'public/js')
.sass('resources/sass/app.scss', 'public/css');
Run Code Online (Sandbox Code Playgroud)
我尝试将别名更改为,~但没有成功。我在这里做错了什么?
只需按照以下方式将 scss 文件导入到所选组件中即可。这个对我有用。我希望它能帮助你
<style lang="scss" scoped>
@import "./path/app.scss"; //Here i add extra "./"(current directory)
</style>
Run Code Online (Sandbox Code Playgroud)
我使用了两种不同的方法。
在你的vue.config.js:
{
//...
pluginOptions: {
'style-resources-loader': {
preProcessor: 'scss',
patterns: [resolve(__dirname, 'src/path/to/css/*.scss')],
},
},
//...
}
Run Code Online (Sandbox Code Playgroud)
scss中的文件main.js,看起来就像:import './styles/path/to/file/app.scss';作为文件顶部的 js 导入。这两种方法都可以scss在全局范围内有效地使用您的文件,而无需导入每个单独的组件。
| 归档时间: |
|
| 查看次数: |
20178 次 |
| 最近记录: |