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 相关文章推荐
Ajax,UTF-8还是GB2312 eval 还是execScript
Nov 13 Javascript
js里的prototype使用示例
Nov 19 Javascript
jquery 操作日期、星期、元素的追加的实现代码
Feb 07 Javascript
js简单实现删除记录时的提示效果
Dec 05 Javascript
js阻止事件追加的具体实现
Oct 15 Javascript
drag-and-drop实现图片浏览器预览
Aug 06 Javascript
微信小程序  Mustache语法详细介绍
Oct 27 Javascript
微信小程序的生命周期的详解
Oct 19 Javascript
写一个移动端惯性滑动&回弹Vue导航栏组件 ly-tab
Mar 06 Javascript
javascript实现切割轮播效果
Nov 28 Javascript
JavaScript实现省份城市的三级联动
Feb 11 Javascript
如何在JavaScript中创建具有多个空格的字符串?
Feb 23 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 mysql数据库操作分页类
2008/06/04 PHP
php skymvc 一款轻量、简单的php
2011/06/28 PHP
PHP设计模式之迭代器模式的深入解析
2013/06/13 PHP
PHP删除数组中空值的方法介绍
2014/04/14 PHP
php使用pdo连接mssql server数据库实例
2014/12/25 PHP
基于PHP实现商品成交时发送短信功能
2016/05/11 PHP
PHP中soap用法示例【SoapServer服务端与SoapClient客户端编写】
2018/12/25 PHP
JavaScript asp.net 获取当前超链接中的文本
2009/04/14 Javascript
禁止JQuery中的load方法装载IE缓存中文件的方法
2009/09/11 Javascript
js仿百度有啊通栏展示效果实现代码
2013/05/28 Javascript
css结合js制作下拉菜单示例代码
2014/02/27 Javascript
js离开或刷新页面检测(且兼容FF,IE,Chrome)
2014/03/05 Javascript
Javascript 拖拽雏形中的一些问题(逐行分析代码,让你轻松了拖拽的原理)
2015/01/23 Javascript
JavaScript String 对象常用方法详解
2016/05/13 Javascript
基于vue.js实现侧边菜单栏
2017/03/20 Javascript
详解vuex 中的 state 在组件中如何监听
2017/05/23 Javascript
Vue AST源码解析第一篇
2017/07/19 Javascript
vue下拉列表功能实例代码
2018/04/08 Javascript
其实你可以少写点if else与switch(推荐)
2019/01/10 Javascript
Vue.js 实现地址管理页面思路详解(地址添加、编辑、删除和设置默认地址)
2019/12/11 Javascript
Python实现分割文件及合并文件的方法
2015/07/10 Python
pandas 取出表中一列数据所有的值并转换为array类型的方法
2018/04/11 Python
Python实现的拉格朗日插值法示例
2019/01/08 Python
Python类中方法getitem和getattr详解
2019/08/30 Python
Pycharm中Python环境配置常见问题解析
2020/01/16 Python
Python检测端口IP字符串是否合法
2020/06/05 Python
CSS3中的opacity属性使用教程
2015/08/19 HTML / CSS
如何判断一段程序是由C 编译程序还是由C++编译程序编译的
2013/08/04 面试题
四年大学自我鉴定
2014/02/17 职场文书
婚礼司仪主持词
2014/03/14 职场文书
心理健康教育主题班会
2015/08/13 职场文书
2016年暑假学生家长评语
2015/12/01 职场文书
《我是什么》教学反思
2016/02/16 职场文书
golang日志包logger的用法详解
2021/05/05 Golang
JavaScript流程控制(循环)
2021/12/06 Javascript
MySQL三种方式实现递归查询
2022/04/18 MySQL