浅谈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下arguments,caller,callee,call,apply示例及理解
Dec 24 Javascript
使用非html5实现js板连连看游戏示例代码
Sep 22 Javascript
Google 地图类型详解及示例代码
Aug 06 Javascript
探讨Vue.js的组件和模板
Oct 27 Javascript
vue实现图片加载完成前的loading组件方法
Feb 05 Javascript
vue组件间的参数传递实例详解
Apr 26 Javascript
Vue拖拽组件列表实现动态页面配置功能
Jun 17 Javascript
layui固定下拉框的显示条数(有滚动条)的方法
Sep 10 Javascript
微信小程序scroll-view点击项自动居中效果的实现
Mar 25 Javascript
详解Vue之计算属性
Jun 20 Javascript
解决Vue @submit 提交后不刷新页面问题
Jul 18 Javascript
vuex分模块后,实现获取state的值
Jul 26 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
56.com视频采集接口程序(PHP)
2007/09/22 PHP
php返回字符串中所有单词的方法
2015/03/09 PHP
php中序列化与反序列化详解
2017/02/13 PHP
Ajax中的JSON格式与php传输过程全面解析
2017/11/14 PHP
PHP调用其他文件中的类
2018/04/02 PHP
php设计模式之状态模式实例分析【星际争霸游戏案例】
2020/03/26 PHP
从父页面读取和操作iframe中内容方法
2009/07/25 Javascript
关于JavaScript定义类和对象的几种方式
2010/11/09 Javascript
jQuery弹出层始终垂直居中相对于屏幕或当前窗口
2013/04/01 Javascript
IE6 hack for js 集锦
2014/09/23 Javascript
node.js中的path.extname方法使用说明
2014/12/09 Javascript
jQuery实现选项卡切换效果简单演示
2015/12/09 Javascript
postman+json+springmvc测试批量添加实例
2018/03/31 Javascript
微信运维交互机器人的示例代码
2018/11/12 Javascript
浅谈小程序 setData学问多
2019/02/20 Javascript
vuejs数据超出单行显示更多,点击展开剩余数据实例
2019/05/05 Javascript
vue实现给div绑定keyup的enter事件
2020/07/31 Javascript
结合Python的SimpleHTTPServer源码来解析socket通信
2016/06/27 Python
python微元法计算函数曲线长度的方法
2018/11/08 Python
pyqt实现.ui文件批量转换为对应.py文件脚本
2019/06/19 Python
连接pandas以及数组转pandas的方法
2019/06/28 Python
在Pycharm中调试Django项目程序的操作方法
2019/07/17 Python
Python交互式图形编程的实现
2019/07/25 Python
Python 类属性与实例属性,类对象与实例对象用法分析
2019/09/20 Python
Python pandas RFM模型应用实例详解
2019/11/20 Python
pyhton中__pycache__文件夹的产生与作用详解
2019/11/24 Python
在Tensorflow中实现leakyRelu操作详解(高效)
2020/06/30 Python
Manjaro、pip、conda更换国内源的方法
2020/11/17 Python
HTML5 新旧语法标记对我们有什么好处
2012/12/13 HTML / CSS
利用HTML5绘制点线面组成的3D图形的示例
2015/05/12 HTML / CSS
总裁秘书岗位职责
2013/12/04 职场文书
素质拓展感言
2014/01/29 职场文书
遥感技术与仪器求职信
2014/02/22 职场文书
初中学校军训方案
2014/05/09 职场文书
详解RedisTemplate下Redis分布式锁引发的系列问题
2021/04/27 Redis
Golang标准库syscall详解(什么是系统调用)
2021/05/25 Golang