浅谈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"代码
Jan 09 Javascript
File, FileReader 和 Ajax 文件上传实例分析(php)
Apr 27 Javascript
jQuery 瀑布流 浮动布局(一)(延迟AJAX加载图片)
May 23 Javascript
JavaScript实现的类字典插入或更新方法实例
Jul 10 Javascript
Js获取图片原始宽高的实现代码
May 17 Javascript
Bootstrap轮播插件中图片变形的终极解决方案 使用jqthumb.js
Jul 10 Javascript
Bootstrap Validator 表单验证
Jul 25 Javascript
jQuery EasyUI ProgressBar进度条组件
Feb 28 Javascript
JS写谷歌浏览器chrome的外挂实例
Jan 11 Javascript
layer关闭弹出窗口触发表单提交问题的处理方法
Sep 25 Javascript
JavaScript 实现同时选取多个时间段的方法
Oct 17 Javascript
React更新渲染原理深入分析
Dec 24 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
apache2.2.4+mysql5.0.77+php5.2.8安装精简
2009/04/29 PHP
PHP 手机归属地查询 api
2010/02/08 PHP
PHP 反向排序和随机排序代码
2010/06/30 PHP
PHP和Mysqlweb应用开发核心技术 第1部分 Php基础-1 开始了解php
2011/07/03 PHP
php处理多图上传压缩代码功能
2018/06/13 PHP
php的instanceof和判断闭包Closure操作示例
2020/01/26 PHP
JQuery 获得绝对,相对位置的坐标方法
2010/02/09 Javascript
对xmlHttp对象的理解
2011/01/17 Javascript
jquery文字上下滚动的实现方法
2013/03/22 Javascript
ANT 压缩(去掉空格/注释)JS文件可提高js运行速度
2013/04/15 Javascript
jquery弹窗插件colorbox绑定动态生成元素的方法
2014/06/20 Javascript
JS按回车键实现登录的方法
2014/08/25 Javascript
简介JavaScript中的setTime()方法的使用
2015/06/11 Javascript
Javascript 获取鼠标当前的位置实现方法
2016/10/27 Javascript
React-router 4 按需加载的实现方式及原理详解
2017/05/25 Javascript
Vue.directive使用注意(小结)
2018/08/31 Javascript
three.js利用卷积法如何实现物体描边效果
2019/11/27 Javascript
Webpack5正式发布,有哪些新特性
2020/10/12 Javascript
解决antd datepicker 获取时间默认少8个小时的问题
2020/10/29 Javascript
Python标准异常和异常处理详解
2015/02/02 Python
Python创建模块及模块导入的方法
2015/05/27 Python
Python常见加密模块用法分析【MD5,sha,crypt模块】
2017/05/24 Python
Django视图和URL配置详解
2018/01/31 Python
Python 函数基础知识汇总
2018/03/09 Python
Python面向对象程序设计中类的定义、实例化、封装及私有变量/方法详解
2019/02/28 Python
详解Django配置优化方法
2019/11/18 Python
基于Python和C++实现删除链表的节点
2020/07/06 Python
Python二元算术运算常用方法解析
2020/09/15 Python
说说在weblogic中开发消息Bean时的persistent与non-persisten的差别
2013/04/07 面试题
电子信息专业自荐书
2014/02/04 职场文书
文明之星事迹材料
2014/05/09 职场文书
电子银行业务授权委托书
2014/10/10 职场文书
团员自我评价范文
2015/03/10 职场文书
2015年清明节扫墓演讲稿
2015/03/18 职场文书
推销搭讪开场白
2015/05/28 职场文书
python中取整数的几种方法
2021/11/07 Python