Vue项目中使用webpack配置了别名,引入的时候报错

chainWebpack(config) {
    config.resolve.alias
      .set('@', resolve('src'))
      .set('assets', resolve('src/assets'))
      .set('components', resolve('src/components'))
  },

这是vue.config.js里的配置

使用的时候,要在别名前面加上~,这样就会告知加载器这是一个模块,而不是绝对路径

记住,在script部分或者js里引入的时候,不需要加 ~,直接用别名就行

只有在template和style里引入的时候需要加

例子:

<template>
  <div class="login">
    <div class="team-name">
      <img src="~assets/img/login/team-name.png">
    </div>
    <div class="form-box"></div>
  </div>
</template>

<script>
  import 'assets/login/login.js'

  export default {
    name: 'Login'
  }
</script>

<style scoped lang="scss" type="text/scss">
  .login{
    width: 100px;
    height: 100px;
    background-size: auto;
    background: #1b2c5f url(~assets/img/login/login-ba.png) no-repeat center;

    .team-name{
      position: fixed;
      width: 50px;
      left: 40px;
      top: 50%;
      transform: translateY(-50%);
    }
  }
</style>

有个小问题,使用webstrom开发的时候,style里使用别名引入,会有红线,不知道怎么解决

 

posted @ 2019-03-19 13:30  zhaobao1830  阅读(2520)  评论(0编辑  收藏  举报