vue css 相对路径导入问题级踩坑记录


Posted in Vue.js onJune 05, 2022

前提

npm install style-loader --save-dev
npm install css-loader --save-dev
npm install file-loader --save-dev
npm install vue-style-loader — save

利用官方的组件解决css 以及其他静态资源的路径问题

先附上成功的配置

1.build/utils.js

关键的地方在:

vue css 相对路径导入问题级踩坑记录

2.build/webpack.base.conf.js

vue css 相对路径导入问题级踩坑记录

遇到的坑

1.错误写法

vue css 相对路径导入问题级踩坑记录

第一行用的是绝对路径,第二行用的是相对路径。

这样写造成的错误:

Module build failed: Error: Failed to find ‘~@/assets/css/login.css’

经过多次尝试,以及搜索了很久。有说法是style内部不支持~@这种方式的路径指向。

2.正确的写法

vue css 相对路径导入问题级踩坑记录

3.如果想在“style”里面用上~@表示的相对路径

接下来介绍我已经实现的方案:

首先选用Less(http://lesscss.cn/) +postcss (https://www.postcss.com.cn/)。

接下来是具体做法,直接上当前配置。

先安装以下指令:

npm install less less-loader extract-text-webpack-plugin --sava-dev

然后打开工程的/build/ 新建文件 postcss.config.js

module.exports = {
  plugins: {
    'autoprefixer': {
      browsers: 'last 5 version'
    }
  },
  'postcss-import': {
   resolve(id) {
     if (id.charAt(0) == '~') {
       return id.substr(1)
     } else {
       return id
     }
   }
  }
}

修改webpack.base.conf.js 的配置,增加:

// 它会应用到普通的 `.css` 文件
      // 以及 `.vue` 文件中的 `<style>` 块
      {
        test: /\.css$/,
        exclude: /node_modules/,
        use: [{
            loader: 'style-loader'
          }, {
            loader: 'css-loader',
            options: {
              importLoaders: 1,
            }
          },
          {
            loader: 'postcss-loader'
          }
        ]
      },
      {
        test: /\.less$/,
        loader: "style-loader!css-loader!less-loader"
      },

修改完之后,重启webpack服务。这里我是用Mac 的终端,在webpack服务窗口使用command + C 就是结束当前运行的服务,再使用npm run dev 重启就可以。

在.vue 文件内的最后使用

<style lang="less" scoped>
  @import "~assets/css/rank.less";
  @import "~assets/css/common.less";
  .contentBox {
    padding: 20px;
  }
</style>

这里要注意加上 ~ , 不然依然无法识别路径。这里暂时还没找到原因,看别人的是可以直接使用。网上教程很多,但是很难找到比较完整的东西,对于自学的娃是伤不起,也没有能一直免费为你解答问题的人。还是自己慢慢摸索,相信大家都能有所成长。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持三水点靠木。 


Tags in this post...

Vue.js 相关文章推荐
vue-drawer-layout实现手势滑出菜单栏
Nov 19 Vue.js
vue祖孙组件之间的数据传递案例
Dec 07 Vue.js
vue实现两个区域滚动条同步滚动
Dec 13 Vue.js
vue 在服务器端直接修改请求的接口地址
Dec 19 Vue.js
vue 实现图片懒加载功能
Dec 31 Vue.js
vue中activated的用法
Jan 03 Vue.js
如何使用RoughViz可视化Vue.js中的草绘图表
Jan 30 Vue.js
Vue项目打包部署到apache服务器的方法步骤
Feb 01 Vue.js
vue+element ui实现锚点定位
Jun 29 Vue.js
一定要知道的 25 个 Vue 技巧
Nov 02 Vue.js
vue项目中的支付功能实现(微信支付和支付宝支付)
Feb 18 Vue.js
vue实现拖拽交换位置
Apr 07 Vue.js
vue中data里面的数据相互使用方式
Jun 05 #Vue.js
Vue 打包后相对路径的引用问题
Jun 05 #Vue.js
vue实现在data里引入相对路径
Jun 05 #Vue.js
ant design vue的form表单取值方法
Jun 01 #Vue.js
vue ant design 封装弹窗表单的使用
Jun 01 #Vue.js
vue实现登陆页面开发实践
May 30 #Vue.js
vue router 动态路由清除方式
May 25 #Vue.js
You might like
编写安全 PHP应用程序的七个习惯深入分析
2013/06/08 PHP
PHP新建类问题分析及解决思路
2015/11/19 PHP
zen_cart实现支付前生成订单的方法
2016/05/06 PHP
php使用函数pathinfo()、parse_url()和basename()解析URL
2016/11/25 PHP
微信公众平台开发(五) 天气预报功能开发
2016/12/03 PHP
Laravel框架自定义分页样式操作示例
2020/01/26 PHP
转自Jquery官方 jQuery1.1.3发布,速度提升800%,体积保持20K
2007/08/19 Javascript
非常漂亮的JS代码经典广告
2007/10/21 Javascript
jQuery实现类似淘宝购物车全选状态示例
2013/06/26 Javascript
js获取url参数值的两种方式
2013/09/10 Javascript
javascript得到当前页的来路即前一页地址的方法
2014/02/18 Javascript
纯js实现遮罩层效果原理分析
2014/05/27 Javascript
js实现页面跳转重定向的几种方式
2014/05/29 Javascript
Javascript 拖拽雏形中的一些问题(逐行分析代码,让你轻松了拖拽的原理)
2015/01/23 Javascript
省市区三级联动下拉框菜单javascript版
2015/08/11 Javascript
提升jQuery的性能需要做好七件事
2016/01/11 Javascript
全面解析DOM操作和jQuery实现选项移动操作代码分享
2016/06/07 Javascript
jQuery树形插件jquery.simpleTree.js用法分析
2016/09/05 Javascript
JS控制页面跳转时未请求要跳转的地址怎么回事
2016/10/14 Javascript
jQuery事件对象总结
2016/10/17 Javascript
微信公众号支付H5调用支付解析
2016/11/04 Javascript
如何正确理解javascript的模块化
2017/03/02 Javascript
整理关于Bootstrap警示框的慕课笔记
2017/03/29 Javascript
Vue的elementUI实现自定义主题方法
2018/02/23 Javascript
vue axios数据请求get、post方法及实例详解
2018/09/11 Javascript
解决Vue在封装了Axios后手动刷新页面拦截器无效的问题
2018/11/08 Javascript
小程序识别身份证,银行卡,营业执照,驾照的实现
2019/11/05 Javascript
js实现录音上传功能
2019/11/22 Javascript
React中获取数据的3种方法及优缺点
2020/02/18 Javascript
python发布模块的步骤分享
2014/02/21 Python
解决Python安装后pip不能用的问题
2018/06/12 Python
加拿大建筑和装修专家:Reno-Depot
2017/12/21 全球购物
志愿者活动总结报告
2014/06/27 职场文书
酒店工程部经理岗位职责
2015/04/09 职场文书
采购部年度工作总结
2015/08/13 职场文书
Spring Boot DevTools 全局配置学习指南
2022/03/31 Java/Android