浅谈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 相关文章推荐
你需要知道的JavsScript可以做什么?
Jun 29 Javascript
Javascript window对象详解
Nov 12 Javascript
AngularJS + Node.js + MongoDB开发的基于高德地图位置的通讯录
Jan 02 Javascript
Javascript实现div层渐隐效果的方法
May 30 Javascript
JavaScript中iframe实现局部刷新的几种方法汇总
Jan 06 Javascript
使用Sticky组件实现带sticky效果的tab导航和滚动导航的方法
Mar 22 Javascript
很棒的js选项卡切换效果
Jul 15 Javascript
jQuery实现定位滚动条位置
Aug 05 Javascript
微信小程序 icon组件详细及实例代码
Oct 25 Javascript
jQuery中库的引用方法
Jan 06 jQuery
keep-Alive搭配vue-router实现缓存页面效果的示例代码
Jun 24 Javascript
如何理解Vue前后端数据交互与显示
May 10 Vue.js
薪资那么高的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
ThinkPHP实现事务回滚示例代码
2014/06/23 PHP
跟我学Laravel之请求(Request)的生命周期
2014/10/15 PHP
php使用str_replace实现输入框回车替换br的方法
2014/11/24 PHP
php限制上传文件类型并保存上传文件的方法
2015/03/13 PHP
Yii+MYSQL锁表防止并发情况下重复数据的方法
2016/07/14 PHP
检测jQuery.js是否已加载的判断代码
2011/05/20 Javascript
document.getElementById介绍
2011/09/13 Javascript
jquery自动填充勾选框即把勾选框打上true
2014/03/24 Javascript
nodejs之请求路由概述
2014/07/05 NodeJs
jquery.form.js框架实现文件上传功能案例解析(springmvc)
2016/05/26 Javascript
JS中绑定事件顺序(事件冒泡与事件捕获区别)
2017/01/24 Javascript
扩展bootstrap的modal模态框-动态添加modal框-弹出多个modal框
2017/02/21 Javascript
ThinkPHP+jquery实现“加载更多”功能代码
2017/03/11 Javascript
js实现自动图片轮播代码
2017/03/22 Javascript
简单实现js放大镜效果
2017/07/24 Javascript
Laravel整合Bootstrap 4的完整方案(推荐)
2018/01/25 Javascript
vue 在单页面应用里使用二级套嵌路由
2020/12/19 Vue.js
[46:59]完美世界DOTA2联赛PWL S2 GXR vs Ink 第二场 11.19
2020/11/20 DOTA
[01:39:04]DOTA2-DPC中国联赛 正赛 SAG vs CDEC BO3 第二场 2月1日
2021/03/11 DOTA
改进Django中的表单的简单方法
2015/07/17 Python
Django中利用filter与simple_tag为前端自定义函数的实现方法
2017/06/15 Python
Python中文件的读取和写入操作
2018/04/27 Python
python 异或加密字符串的实例
2018/10/14 Python
Python OpenCV 调用摄像头并截图保存功能的实现代码
2019/07/02 Python
PyCharm2020.1.1与Python3.7.7的安装教程图文详解
2020/08/07 Python
python多线程和多进程关系详解
2020/12/14 Python
一张图片能隐含千言万语之隐藏你的程序代码
2012/12/13 HTML / CSS
Ellos丹麦:时尚和服装在线
2016/09/19 全球购物
美国猫狗药物和用品网站:PetCareRx
2017/01/05 全球购物
*p++ 自增p 还是p所指向的变量
2016/07/16 面试题
城管执法人员个人对照检查材料思想汇报
2014/09/29 职场文书
2014教师评职称工作总结
2014/11/10 职场文书
2014年减负工作总结
2014/12/10 职场文书
2015年学生管理工作总结
2015/05/26 职场文书
2016年公务员六五普法心得体会
2016/01/21 职场文书
2016年第29个世界无烟日宣传活动总结
2016/04/06 职场文书