webpack @import 无法使用别名 alias

我用的是 vue-cli 2.x 创建的项目,然后在 .vue 文件中

<style>
@import '@/assets/icon/iconfont.css';
</style>

会报错:Module build failed: Error: Failed to find '~@/assets/icon/iconfont.css'

就算我加了 ~ 依然会报错:Module build failed: Error: Failed to find '~@/assets/icon/iconfont.css'

有大佬知道要怎么解决吗?万分感激!!

阅读 4.7k
2 个回答

@import '~@/assets/icon/iconfont.css';

别名前面 添加 [ ~ ]

resolve: {
    alias: {
        '@': path.resolve(__dirname, 'src'),
        'static': path.resolve(__dirname, 'src/static'),
        'assets': path.resolve(__dirname, 'src/assets'),
        'components': path.resolve(__dirname, 'src/components')
    }
}

CSS loader 会把把非根路径的url解释为相对路径, 加 ~ 前缀才会解释成模块路径

来源: https://www.jianshu.com/p/c3a...

webpack.resolve.alias配置

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题