浅谈vue路径优化之resolve


Posted in Javascript onOctober 13, 2017

通过vue-cli来创建vue+webpack的项目时,已经有很多都配置好了,但是路径方面为了方便开发,还可以优化。

1. resolve.extensions

在webpack.base.conf.js中,我们可以看到resolve配置,其中的extengsions是一个数组,如下所示:

extensions: ['.js', '.vue', '.json'],

通过这样的配置,我们在组件中过着路由中应用组件时,就可以更为方便的应用,比如:

import Hello from '@components/Hello';

即Hello.vue这个组件我们不需要添加.vue后缀就可以引用到了,如果不用extensions, 我们就必须要用@components/Hello.vue来引入这个文件。

2. resolve.alias

在组件之间相互引用时,可能是下面这样的:

import Hello from '../src.components/Hello';

其中的路径是相对于当前页面的。 但是如果嵌套等更为复杂,那么写起来会比较麻烦。但是如果我们通过这样的配置:

resolve: {
  extensions: ['.js', '.vue', '.json'],
  alias: {
   'vue$': 'vue/dist/vue.esm.js',
   '@pages': path.join(__dirname, "..", "src", "pages"),
   "@components": path.join(__dirname, "..", "src", "components"),
   // 注意: 静态资源通过src,不能这么设置。
   // "@assets": path.join(__dirname, "..", "src", "assets"),
  }

其中vue$表示引入vue,就可以像下面这么写:

import Vue from 'vue'

另外,对于@pages和@components我们就可以直接引用了,而省去了一大堆的复杂应用,另外通过@可以消除歧义。如下所示:

import Hello from '@components/Hello';
import App from '@pages/App'

值得注意的时: 在webpack.config.js中我们不能使用../ 以及./这种形式的路径方式,而是通过 path.join 和 __dirname 这种形式来表示路径,否则会报错。

另外: 在组件中,我们会引用一些静态文件,即static下的文件, 这时我们就不能用 alias 下的配置了,而必须使用一般的配置方式。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JavaScript 无符号右移赋值操作
Apr 17 Javascript
js 实现无干扰阴影效果 简单好用(附文件下载)
Dec 27 Javascript
jquery在IE、FF浏览器的差别详细探讨
Apr 28 Javascript
一个js导致的jquery失效问题的解决方法
Nov 27 Javascript
JavaScript遍历table表格中的某行某列并打印其值
Jul 08 Javascript
js表单验证实例讲解
Mar 31 Javascript
JS 拼凑字符串的简单实例
Sep 02 Javascript
Omi v1.0.2发布正式支持传递javascript表达式
Mar 21 Javascript
easyui简介_动力节点Java学院整理
Jul 14 Javascript
bootstrap模态框嵌套、tabindex属性、去除阴影的示例代码
Oct 17 Javascript
最实用的JS数组函数整理
Dec 05 Javascript
jQuery实现根据身份证号获取生日、年龄、性别等信息的方法
Jan 09 jQuery
薪资那么高的Web前端必看书单
Oct 13 #Javascript
vue router demo详解
Oct 13 #Javascript
JS实现的简单表单验证功能示例
Oct 13 #Javascript
javascript基于定时器实现进度条功能实例
Oct 13 #Javascript
layui中layer前端组件实现图片显示功能的方法分析
Oct 13 #Javascript
详解如何去除vue项目中的#——History模式
Oct 13 #Javascript
原生JS上传大文件显示进度条 php上传文件代码
Mar 27 #Javascript
You might like
世界上第一台立体声收音机
2021/03/01 无线电
解析php5配置使用pdo
2013/07/03 PHP
php面向对象之反射功能与用法分析
2017/03/29 PHP
JavaScript中Math对象使用说明
2008/01/16 Javascript
JQuery 遮罩层实现(mask)实现代码
2010/01/09 Javascript
javascript 哈希表(hashtable)的简单实现
2010/01/20 Javascript
jquery checkbox,radio是否选中的判断代码
2010/03/20 Javascript
JSDoc 介绍使用规范JsDoc的使用介绍
2011/02/12 Javascript
8个实用的jQuery技巧
2014/03/04 Javascript
JS中去掉array中重复元素的方法
2017/05/26 Javascript
JavaScript实现移动端页面按手机屏幕分辨率自动缩放的最强代码
2017/08/18 Javascript
深入理解Node module模块
2018/03/26 Javascript
vue2.0页面前进刷新回退不刷新的实现方法
2018/07/31 Javascript
layui中select,radio设置不生效的解决方法
2019/09/05 Javascript
vue组件中传值EventBus的使用及注意事项说明
2020/11/16 Javascript
Vue在H5 项目中使用融云进行实时个人单聊通讯
2020/12/14 Vue.js
[01:06:12]VP vs NIP 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
跟老齐学Python之不要红头文件(2)
2014/09/28 Python
Python判断列表是否已排序的各种方法及其性能分析
2016/06/20 Python
浅谈python中拼接路径os.path.join斜杠的问题
2018/10/23 Python
python中的colorlog库使用详解
2019/07/05 Python
Python实现变声器功能(萝莉音御姐音)
2019/12/05 Python
基于Python爬取fofa网页端数据过程解析
2020/07/13 Python
windows10在visual studio2019下配置使用openCV4.3.0
2020/07/14 Python
MoviePy常用剪辑类及Python视频剪辑自动化
2020/12/18 Python
简单掌握CSS3中resize属性的用法
2016/04/01 HTML / CSS
美国眼镜网站:EyeBuyDirect
2017/04/13 全球购物
牛津在线药房:Oxford Online Pharmacy
2020/11/16 全球购物
JNI的定义
2012/11/25 面试题
师范应届生教师求职信
2013/11/05 职场文书
公司新员工的演讲稿注意事项
2014/01/01 职场文书
教师校本培训方案
2014/02/26 职场文书
党的群众路线教育实践活动对照检查材料思想汇报(党员篇)
2014/09/25 职场文书
关于学习的决心书
2015/02/05 职场文书
趣味运动会口号
2015/12/24 职场文书
python读取mnist数据集方法案例详解
2021/09/04 Python