浅谈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 相关文章推荐
js去除输入框中所有的空格和禁止输入空格的方法
Jun 09 Javascript
jquery中获取元素里某一特定子元素的代码
Dec 02 Javascript
jQuery中animate动画第二次点击事件没反应
May 07 Javascript
浅析四种常见的Javascript声明循环变量的书写方式
Oct 14 Javascript
jquery validate.js表单验证入门实例(附源码)
Nov 10 Javascript
简单实现的JQuery文本框水印插件
Jun 14 Javascript
KnockoutJS 3.X API 第四章之数据控制流foreach绑定
Oct 10 Javascript
js实现文字无缝向上滚动
Feb 16 Javascript
canvas绘制爱心的几种方法总结(推荐)
Oct 31 Javascript
浅谈vue项目如何打包扔向服务器
May 08 Javascript
vue模块拖拽实现示例代码
Mar 09 Javascript
vue使用showdown并实现代码区域高亮的示例代码
Oct 17 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
PHP脚本的10个技巧(7)
2006/10/09 PHP
PHP下判断网址是否有效的代码
2011/10/08 PHP
提高PHP性能的编码技巧以及性能优化详细解析
2013/08/24 PHP
Symfony2获取web目录绝对路径、相对路径、网址的方法
2016/11/14 PHP
使用Codeigniter重写insert的方法(推荐)
2017/03/23 PHP
Laravel学习教程之本地化模块
2017/08/18 PHP
PHP PDOStatement::rowCount讲解
2019/02/01 PHP
js中一个函数获取另一个函数返回值问题探讨
2013/11/21 Javascript
在javascript中实现函数数组的方法
2013/12/25 Javascript
JavaScript声明变量时为什么要加var关键字
2014/09/29 Javascript
值得学习的bootstrap fileinput文件上传工具
2016/11/08 Javascript
纯JS单页面赛车游戏制作代码分享
2017/03/03 Javascript
vue router的基本使用和配置教程
2018/11/05 Javascript
微信小程序swiper实现滑动放大缩小效果
2018/11/15 Javascript
从0到1构建vueSSR项目之node以及vue-cli3的配置
2019/03/07 Javascript
vue语法自动转typescript(解放双手)
2019/09/18 Javascript
JavaScript中的函数式编程详解
2020/08/22 Javascript
使用typescript快速开发一个cli的实现示例
2020/12/09 Javascript
vue 使用class创建和清除水印的示例代码
2020/12/25 Vue.js
[01:11:48]Fnatic vs IG 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
[01:11:15]VGJ.S vs Secret 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
python去掉字符串中重复字符的方法
2014/02/27 Python
对python 矩阵转置transpose的实例讲解
2018/04/17 Python
Python基本数据结构与用法详解【列表、元组、集合、字典】
2019/03/23 Python
python如何通过pyqt5实现进度条
2020/01/20 Python
Python extract及contains方法代码实例
2020/09/11 Python
python在地图上画比例的实例详解
2020/11/13 Python
一款简洁的纯css3代码实现的动画导航
2014/10/31 HTML / CSS
自荐书格式
2013/12/01 职场文书
消防宣传口号
2014/06/16 职场文书
2015年“公民道德宣传日”活动方案
2015/05/06 职场文书
2016元旦主持人经典开场白台词
2015/12/03 职场文书
Python如何导出导入所有依赖包详解
2021/06/08 Python
Python中的xlrd模块使用整理
2021/06/15 Python
JavaScript展开运算符和剩余运算符的区别详解
2022/02/18 Javascript
在虚拟机中安装windows server 2008的图文教程
2022/06/28 Servers