webpack公共组件引用路径简化小技巧


Posted in Javascript onJune 15, 2018

日常开发中,我们会常常把一些功能提取出来,包装成一个公共模块或者组件,供不同地方使用,但是随着项目不断变大,项目目录不断变深,我们引用公共组件的路径越来越长!

例如:引用一个公共模块

import Menu from '../../../../../components/Menu'; // 这里路径太深,很容易写错

我们该怎么优化尼?

解决方案1:使用webpack的resolve.alias属性

先配置webpack

module.exports = {
  ...
  resolve: {
    alias: {
      "@commModule": path.resolve(__dirname, "src/components/")
    }
  }
  ...
};

引用Menu模块

import Menu from '@commModule/Menu';

解决方案2:babel-plugin-module-resolver

配置.babelrc

{
  "plugins": [
    ["module-resolver", {
      "alias": {
        "@commMdule": "./src/components"
      }
    }]
  ]
}

引用Menu模块

import Menu from '@commModule/Menu';

总结

或许这只是一个小优化,但是在实际场景中,能够大大的降低我们的维护成本,提高我们的生产效率!

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

Javascript 相关文章推荐
JS关键字球状旋转效果的实例代码
Nov 29 Javascript
JavaScript判断变量是否为空的自定义函数分享
Jan 31 Javascript
jQuery通过扩展实现抖动效果的方法
Mar 11 Javascript
Node.js中的流(Stream)介绍
Mar 30 Javascript
javascript实现实时输出当前的时间
Apr 27 Javascript
利用jquery实现下拉框的禁用与启用
Dec 07 Javascript
JavaScript在form表单中使用button按钮实现submit提交方法
Jan 23 Javascript
JS实现新建文件夹功能
Jun 17 Javascript
利用babel将es6语法转es5的简单示例
Dec 01 Javascript
js实现web调用摄像头 js截取视频画面
Apr 21 Javascript
layui的布局和表格的渲染以及动态生成表格的方法
Sep 18 Javascript
关于ligerui子页面关闭后,父页面刷新,重新加载的方法
Sep 27 Javascript
微信小程序自定义tab实现多层tab嵌套功能
Jun 15 #Javascript
微信小程序实现自定义modal弹窗封装的方法
Jun 15 #Javascript
详解vue组件开发脚手架
Jun 15 #Javascript
在 vue-cli v3.0 中使用 SCSS/SASS的方法
Jun 14 #Javascript
vue cli 3.0 使用全过程解析
Jun 14 #Javascript
jQuery实现列表的增加和删除功能
Jun 14 #jQuery
vue采用EventBus实现跨组件通信及注意事项小结
Jun 14 #Javascript
You might like
PHP include_path设置技巧分享
2011/07/03 PHP
php数组函数序列之ksort()对数组的元素键名进行升序排序,保持索引关系
2011/11/02 PHP
基于xcache的配置与使用详解
2013/06/18 PHP
php去除字符串换行符示例分享
2014/02/13 PHP
PHP5多态性与动态绑定介绍
2015/04/03 PHP
深入剖析PHP中printf()函数格式化使用
2016/05/23 PHP
php爬取天猫和淘宝商品数据
2018/02/23 PHP
PHP实现长轮询消息实时推送功能代码实例讲解
2021/02/26 PHP
dtree 网页树状菜单及传递对象集合到js内,动态生成节点
2012/04/14 Javascript
js添加table的行和列 具体实现方法
2013/07/22 Javascript
JavaScript调用后台的三种方法实例
2013/10/17 Javascript
javascript 模拟坦克大战游戏(html5版)附源码下载
2014/04/08 Javascript
基于nodejs+express(4.x+)实现文件上传功能
2015/11/23 NodeJs
基于BootStrap Metronic开发框架经验小结【五】Bootstrap File Input文件上传插件的用法详解
2016/05/12 Javascript
JavaScript 轮播图和自定义滚动条配合鼠标滚轮分享代码贴
2016/10/28 Javascript
AngularJS动态加载模块和依赖的方法分析
2016/11/08 Javascript
javascript笔记之匿名函数和闭包
2017/02/06 Javascript
Vue.js2.0中的变化小结
2017/10/24 Javascript
Bootstrap标签页(Tab)插件切换echarts不显示问题的解决
2018/07/13 Javascript
Vue插槽原理与用法详解
2019/03/05 Javascript
nodeJs项目在阿里云的简单部署
2020/11/27 NodeJs
JS+CSS实现过渡特效
2021/01/02 Javascript
使用python搭建Django应用程序步骤及版本冲突问题解决
2013/11/19 Python
Python的ORM框架SQLObject入门实例
2014/04/28 Python
python常用函数详解
2016/09/13 Python
Python 性能优化技巧总结
2016/11/01 Python
在Python中输入一个以空格为间隔的数组方法
2018/11/13 Python
python 字典套字典或列表的示例
2019/12/16 Python
基于MUI框架使用HTML5实现的二维码扫描功能
2018/03/01 HTML / CSS
美国照明、家居装饰和家具购物网站:Bellacor
2017/09/20 全球购物
英国排名第一的礼品体验公司:Red Letter Days
2018/08/16 全球购物
什么是符号链接,什么是硬链接?符号链接与硬链接的区别是什么?
2013/05/03 面试题
民族团结先进个人材料
2014/02/05 职场文书
租赁协议书
2015/01/27 职场文书
给校长的建议书作文300字
2015/09/14 职场文书
大学宣传委员竞选稿
2015/11/19 职场文书