浅谈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 08 Javascript
手机端网页点击链接触发自动拨打或保存电话的示例代码
Aug 15 Javascript
jQuery实现点击任意位置弹出层外关闭弹出层效果
Oct 19 Javascript
Bootstrap Modal对话框如何在关闭时触发事件
Dec 02 Javascript
JQuery异步提交表单与文件上传功能示例
Jan 12 Javascript
基于node.js实现微信支付退款功能
Dec 19 Javascript
详解Immutable及 React 中实践
Mar 01 Javascript
浅析JS中回调函数及用法
Jul 25 Javascript
学习jQuery中的noConflict()用法
Sep 28 jQuery
Vue Prop属性功能与用法实例详解
Feb 23 Javascript
使用vue实现多规格选择实例(SKU)
Aug 23 Javascript
js实现详情页放大镜效果
Oct 28 Javascript
薪资那么高的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
Zend的Registry机制的使用说明
2013/05/02 PHP
关于svn冲突的解决方法
2013/06/21 PHP
php正则取img标记中任意属性(正则替换去掉或改变图片img标记中的任意属性)
2013/08/13 PHP
php 将json格式数据转换成数组的方法
2018/08/21 PHP
TP5框架实现上传多张图片的方法分析
2020/03/29 PHP
PHP执行普通shell命令流程解析
2020/08/24 PHP
响应鼠标变换表格背景或者颜色的代码
2009/03/30 Javascript
选择TreeView控件的树状数据节点的JS方法(jquery)
2010/02/06 Javascript
javascript图像处理—仿射变换深度理解
2013/01/16 Javascript
js模仿windows桌面图标排列算法具体实现(附图)
2013/06/16 Javascript
javascript从右边截取指定字符串的三种实现方法
2013/11/29 Javascript
js 点击页面其他地方关闭弹出层(示例代码)
2013/12/24 Javascript
快速掌握WordPress中加载JavaScript脚本的方法
2015/12/17 Javascript
原生javascript移动端滑动banner效果
2017/03/10 Javascript
JS中showModalDialog关闭子窗口刷新主窗口用法详解
2017/03/25 Javascript
Vue中自定义全局组件的实现方法
2017/12/08 Javascript
JS加密插件CryptoJS实现的DES加密示例
2018/08/16 Javascript
微信实现自动跳转到用其他浏览器打开指定APP下载
2019/02/15 Javascript
JavaScript实现单图片上传并预览功能
2019/09/30 Javascript
如何基于js判断浏览器版本
2020/02/20 Javascript
[03:59]第二届DOTA2亚洲邀请赛选手传记-VGJ.rOtk
2017/04/03 DOTA
django model去掉unique_together报错的解决方案
2016/10/18 Python
django框架使用orm实现批量更新数据的方法
2019/06/21 Python
下载官网python并安装的步骤详解
2019/10/12 Python
Python中输入和输出(打印)数据实例方法
2019/10/13 Python
python实现Pyecharts实现动态地图(Map、Geo)
2020/03/25 Python
python实现输入三角形边长自动作图求面积案例
2020/04/12 Python
jupyter notebook 实现matplotlib图动态刷新
2020/04/22 Python
python FTP编程基础入门
2021/02/27 Python
HTML5 canvas基本绘图之绘制矩形
2016/06/27 HTML / CSS
南京迈特望C/C++面试题
2012/07/09 面试题
班级安全教育实施方案
2014/02/23 职场文书
人事任命书范文
2014/06/04 职场文书
离婚协议书怎么写(范本参考)
2014/09/30 职场文书
关于拾金不昧的感谢信(五篇)
2019/10/18 职场文书
SpringBoot深入分析讲解监听器模式下
2022/07/15 Java/Android