【发布时间】:2020-04-10 15:27:12
【问题描述】:
我是 vuejs、html 和 css 的新手。当我尝试在 App.vue 中导入 scss 文件时,如果我像这样导入它就可以了
<script>
import '@/assets/scss/main-pc.scss')
</script>
但是,如果我在 style 中导入它
<style lang="scss">
@import '@/assets/scss/main-pc.scss';
</style>
它没有正常工作,我遇到了这个错误
These relative modules were not found:
* ../img/bg_login.png in ./node_modules/css-loader?{"sourceMap":true}!./node_modules/vue-loader/lib/style-compiler?{"vue":true,"id":"data-v-7ba5bd90","scoped":false,"hasInlineConfig":false}!./node_modules/sass-loader
/dist/cjs.js?{"sourceMap":true}!./node_modules/vue-loader/lib/selector.js?type=styles&index=0!./src/App.vue
图片的路径好像加载不出来。
你知道为什么吗?
【问题讨论】:
-
请检查此
main-pc.scss文件。错误是说它找不到这个bg_login.png相对于您要导入它的组件路径的图像。 -
@YomS。编辑,它实际上是一个文件。
-
不,我的意思是,文件
main-pc.scss本身,必须在这个文件中的某个地方引用这个名为“bg_login.png”的图像文件,看看this post。 -
@YomS。就在这里。但是当我在脚本标签中导入时效果很好。我检查了,问题可能是编译后引起的,css指向不同的文件名(/static/img/bg_login.99bd357.png),而如果在中导入它仍然指向
../img/bg_login.png -
Style不用于导入,它意味着包含每个组件的本地样式(您可以将 scoped 选项放在上面),导入应该在脚本中完成。