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判断变量是否未定义的代码
Mar 28 Javascript
js实现的点击div区域外隐藏div区域
Jun 30 Javascript
JavaScript中的setUTCDate()方法使用详解
Jun 11 Javascript
jQuery实现ajax调用WCF服务的方法(附带demo下载)
Dec 04 Javascript
JavaScript中rem布局在react中的应用
Dec 09 Javascript
jQuery绑定事件的几种实现方式
May 09 Javascript
JavaScript判断输入是否为数字类型的方法总结
Sep 28 Javascript
vue全局使用axios的方法实例详解
Nov 22 Javascript
用vscode开发vue应用的方法步骤
May 06 Javascript
JS实现点击下拉列表文本框中出现对应的网址,点击跳转按钮实现跳转
Nov 25 Javascript
ES6对象操作实例详解
May 23 Javascript
electron踩坑之dialog中的callback解决
Oct 06 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工具型代码之印章抠图
2018/07/18 PHP
PHP XML Expat解析器知识点总结
2019/02/15 PHP
关于Yii中模型场景的一些简单介绍
2019/09/22 PHP
使用JavaScript 编写简单计算器
2014/11/24 Javascript
jQuery+ajax中getJSON() 用法实例
2014/12/22 Javascript
AngularJS Module方法详解
2015/12/08 Javascript
Jquery判断form表单数据是否变化
2016/03/30 Javascript
Kendo Grid editing 自定义验证报错提示的解决方法
2016/11/18 Javascript
jQuery实现对象转为url参数的方法
2017/01/11 Javascript
JS原型与原型链的深入理解
2017/02/15 Javascript
JavaScript登录记住密码操作(超简单代码)
2017/03/22 Javascript
使用Node.js搭建静态资源服务详细教程
2017/08/02 Javascript
vue不通过路由直接获取url中参数的方法示例
2017/08/24 Javascript
nodejs操作mongodb的填删改查模块的制作及引入实例
2018/01/02 NodeJs
用jquery获取select标签中选中的option值及文本的示例
2018/01/25 jQuery
JavaScript累加、迭代、穷举、递归等常用算法实例小结
2018/05/08 Javascript
解决layer弹层遮罩挡住窗体的问题
2018/08/17 Javascript
JS封装的模仿qq右下角消息弹窗功能示例
2018/08/22 Javascript
vue实现自定义日期组件功能的实例代码
2018/11/06 Javascript
js Math数学简单使用操作示例
2020/03/13 Javascript
[43:26]完美世界DOTA2联赛PWL S2 Forest vs Rebirth 第二场 11.20
2020/11/23 DOTA
[09:13]DOTA2-DPC中国联赛 正赛 Ehome vs Magma 选手采访 1月19日
2021/03/11 DOTA
python对list中的每个元素进行某种操作的方法
2018/06/29 Python
python tkinter图形界面代码统计工具(更新)
2019/09/18 Python
Python greenlet和gevent使用代码示例解析
2020/04/01 Python
Django REST framwork的权限验证实例
2020/04/02 Python
基于pandas向csv添加新的行和列
2020/05/25 Python
pytest fixtures装饰器的使用和如何控制用例的执行顺序
2021/01/28 Python
美国女性卫生用品公司:Thinx
2017/06/30 全球购物
Jones New York官网:美国女装品牌,受白领女性欢迎
2019/11/26 全球购物
三方合作协议书范本
2014/04/18 职场文书
竞选体育委员演讲稿
2014/04/26 职场文书
销售团队口号大全
2014/06/06 职场文书
大学生操行评语大全
2014/12/31 职场文书
宿舍管理制度范本
2015/08/07 职场文书
2019餐饮行业创业计划书!
2019/06/27 职场文书