我正在使用带有Bootstrap-Vue的VueJS创建应用程序。我正在尝试导入SCSS文件以覆盖Bootstrap变量以及另一个用于自定义样式的SCSS。
这是我到目前为止所做的:
npm install node-sass sass-loader css-loader --save-dev
{ test:/\.(s*)css$/, use:['style-loader','css-loader', 'sass-loader']}
main.js
import Vue from 'vue'
import BootstrapVue from 'bootstrap-vue'
import App from './App'
import router from './router'
import fontawesome from '@fortawesome/fontawesome'
import light from '@fortawesome/fontawesome-pro-light'
Vue.use(BootstrapVue)
Vue.config.productionTip = false
fontawesome.library.add(light)
/* eslint-disable no-new */
new Vue({
el: '#app',
router,
components: { App },
template: '<App/>'
})
<style lang="scss">
@import './assets/scss/app.scss';
</style>
当我运行npm run dev
时,我收到以下错误:
ERROR Failed to compile with 1 errors 21:05:54
error in ./src/main.js
Syntax Error: Unexpected token, expected ; (29:7)
27 | })
28 |
> 29 | <style lang="scss">
| ^
30 | @import './assets/scss/app.scss';
31 | </style>
32 |
@ multi (webpack)-dev-server/client?http://localhost:8080 webpack/hot/dev-server ./src/main.js
fontawesome.library.add(light)
/* eslint-disable no-new */
new Vue({
el: '#app',
router,
components: { App },
template: '<App/>'
})
<style lang="scss">
@import './assets/scss/app.scss';
</style>
我不确定为什么它不起作用。我在Github和Stack Overflow上尝试了各种解决方案。
任何帮助都将不胜感激。
答案 0 :(得分:0)
你不能在这样的javascript中编写样式标记。您需要将其移动到vue
文件并将加载器附加到该文件,或使用标准导入:
import './assets/scss/app.scss';
没有style
代码或@
符号。