浅谈vue路径优化之resolve

 更新时间:2017年10月13日 17:11:46   作者:Wayne-Zhu  
本篇文章主要介绍了浅谈vue路径优化之resolve,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

通过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 下的配置了,而必须使用一般的配置方式。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Vue开发之watch监听数组、对象、变量操作分析

    Vue开发之watch监听数组、对象、变量操作分析

    这篇文章主要介绍了Vue开发之watch监听数组、对象、变量操作,结合实例形式分析了vue.js使用Watch针对数组、对象、变量监听相关操作技巧,需要的朋友可以参考下
    2019-04-04
  • vue各种事件监听实例(小结)

    vue各种事件监听实例(小结)

    这篇文章主要介绍了vue各种事件监听实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-06-06
  • Vue2实现子组件修改父组件值的方法小结

    Vue2实现子组件修改父组件值的方法小结

    在 Vue 2 中,子组件不能直接修改父组件的值,因为 Vue 遵循单向数据流的原则,为了实现子组件修改父组件的数据,本文给大家介绍了Vue2实现子组件修改父组件值的四种方法,并通过代码示例讲解的非常详细,需要的朋友可以参考下
    2025-03-03
  • Vue-cli项目部署到Nginx服务器的方法

    Vue-cli项目部署到Nginx服务器的方法

    这篇文章主要介绍了Vue-cli项目部署到Nginx服务器的方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-11-11
  • 浅析Vue中权限管理的实现

    浅析Vue中权限管理的实现

    在前端开发中,权限管理是一项至关重要的任务,本教程将深入探讨如何在 Vue.js 项目中实施权限管理,并详细讲解如何实现到按钮级别的细粒度控制,希望对大家有所帮助
    2024-11-11
  • vue vant Area组件使用详解

    vue vant Area组件使用详解

    这篇文章主要介绍了vue vant Area组件使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12
  • vue如何使用html2canvas和JsPDF导出pdf组件

    vue如何使用html2canvas和JsPDF导出pdf组件

    这篇文章主要介绍了vue如何使用html2canvas和JsPDF导出pdf组件问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-09-09
  • Vue3中事件总线mitt的使用方式

    Vue3中事件总线mitt的使用方式

    mitt又称事务总线,是第三方插件,这篇文章主要为大家详细介绍了Vue3中事件总线mitt的使用方式,感兴趣的小伙伴可以跟随小编一起学习一下
    2025-03-03
  • vue路由跳转打开新窗口(window.open())和关闭窗口(window.close())

    vue路由跳转打开新窗口(window.open())和关闭窗口(window.close())

    这篇文章主要介绍了vue路由跳转打开新窗口(window.open())和关闭窗口(window.close())问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-04-04
  • 三步搞定:Vue.js调用Android原生操作

    三步搞定:Vue.js调用Android原生操作

    这篇文章主要介绍了三步搞定:Vue.js调用Android原生操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-09-09

最新评论