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页面刷新,数据丢失的问题
Nov 24 Vue.js
Vue 组件注册全解析
Dec 17 Vue.js
vue 实现基础组件的自动化全局注册
Dec 25 Vue.js
vue使用require.context实现动态注册路由
Dec 25 Vue.js
vue3.0中友好使用antdv示例详解
Jan 05 Vue.js
vue实现防抖的实例代码
Jan 11 Vue.js
聊聊vue 中的v-on参数问题
Jan 29 Vue.js
WebStorm无法正确识别Vue3组合式API的解决方案
Feb 18 Vue.js
详解vite+ts快速搭建vue3项目以及介绍相关特性
Feb 25 Vue.js
Vue SPA 首屏优化方案
Feb 26 Vue.js
详解Vue router路由
Nov 20 Vue.js
Vue.js中v-bind指令的用法介绍
Mar 13 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
如何删除多级目录
2006/10/09 PHP
php调用Google translate_tts api实现代码
2013/08/07 PHP
ThinkPHP权限认证Auth实例详解
2014/07/22 PHP
[原创]php正则删除img标签的方法示例
2017/05/27 PHP
使用PHPExcel实现数据批量导出为excel表格的方法(必看)
2017/06/09 PHP
Laravel5框架自定义错误页面配置操作示例
2019/04/17 PHP
利用javascript实现一些常用软件的下载导航
2009/08/03 Javascript
javascript获得CheckBoxList选中的数量
2009/10/27 Javascript
Google AJAX 搜索 API实现代码
2010/11/17 Javascript
js 触发select onchange事件代码
2014/03/20 Javascript
js重写alert控件(适合学习js的新手朋友)
2014/08/24 Javascript
node.js中的fs.readlinkSync方法使用说明
2014/12/17 Javascript
js图片翻书效果代码分享
2015/08/20 Javascript
jquery实现鼠标经过显示下划线的渐变下拉菜单效果代码
2015/08/24 Javascript
JavaScript组合模式学习要点
2016/08/26 Javascript
浅谈jQuery为哪般去掉了浏览器检测
2016/08/29 Javascript
手把手教你搭建ES6的开发运行环境
2017/07/11 Javascript
详解bootstrap用dropdown-menu实现上下文菜单
2017/09/22 Javascript
微信小程序页面间值传递的两种方法
2018/11/26 Javascript
微信小程序使用component自定义toast弹窗效果
2018/11/27 Javascript
小程序自定义日历效果
2018/12/29 Javascript
解决layer 关闭当前弹窗 关闭遮罩层 input值获取不到的问题
2019/09/25 Javascript
WEEX环境搭建与入门详解
2019/10/16 Javascript
vue3.0中友好使用antdv示例详解
2021/01/05 Vue.js
Python向MySQL批量插数据的实例讲解
2018/03/31 Python
Python 读取指定文件夹下的所有图像方法
2018/04/27 Python
python按行读取文件并找出其中指定字符串
2019/08/08 Python
中国综合性网上购物商城:当当(网上卖书起家)
2016/11/16 全球购物
电子信息专业自荐书
2014/02/04 职场文书
学生会主席竞聘书
2014/03/31 职场文书
公司担保书格式范文
2014/05/12 职场文书
土建工程师岗位职责
2014/06/10 职场文书
党员对十八届四中全会的期盼思想汇报范文
2014/10/17 职场文书
党员转正申请报告
2015/05/15 职场文书
乱世佳人观后感
2015/06/08 职场文书
联村联户简报
2015/07/21 职场文书