zoukankan      html  css  js  c++  java
  • React 使用相对于根目录进行引用组件

    在对自己开发的组件中经常会做诸如以下的引用:

    
    import genFetchEntryListArgs from '../../../utils/table/genFetchEntryListArgs';
    import { parseQuery, stringifyQuery } from '../../../utils/query';
    import mapMyToProps from '../../../utils/connect/mapMyToProps';
    import genPagination from '../../../utils/table/pagination';
    import handleConfirm from '../../../utils/handleConfirm';
    import getBaseQuery from '../../../utils/getBaseQuery';
    import setSortQuery from '../../../utils/setSortQuery';
    import handleError from '../../../utils/handleError';
    import injectProto from '../../../utils/injectProto';
    import injectApi from '../../../utils/injectApi';
    import querySchema from './querySchema';
    import genColumns from './genColumns';
    

    这样使用相对路径引用虽然是比较常见的做法,不过在中大型项目中,引入的组件较多时,写起来也是极其蛋疼的。

    当然,我们可以通过使用 webpack 中的 resolve.alias 配置别名,将某些文件目录配置成固定的引入。

    例如上面的示例,我们可以将 utils 文件夹设置成一个 utils 别名,以后就可以只需要将 utils 引入就行了,而不需要写一坨 ../../../

    配置设置如下:

    
    const path = require('path');
    
    module.exports = {
        ...
        resolve: {
            alias: {
                'utils': path.resolve(__dirname, '../src/utils'),
            }
        },
        ...
    };
    

    最上面的示例经过改写之后,应该如此:

    
    import genFetchEntryListArgs from '../../../utils/table/genFetchEntryListArgs';
    import { parseQuery, stringifyQuery } from 'utils/query';
    import mapMyToProps from 'utils/connect/mapMyToProps';
    import genPagination from 'utils/table/pagination';
    import handleConfirm from 'utils/handleConfirm';
    import getBaseQuery from 'utils/getBaseQuery';
    import setSortQuery from 'utils/setSortQuery';
    import handleError from 'utils/handleError';
    import injectProto from 'utils/injectProto';
    import injectApi from 'utils/injectApi';
    import querySchema from './querySchema';
    import genColumns from './genColumns';
    
  • 相关阅读:
    【数据结构(C语言版)系列三】 队列
    【数据结构(C语言版)系列二】 栈
    【数据结构(C语言版)系列一】 线性表
    [转]Boosting
    吴恩达机器学习笔记
    C语言之图像旋转
    DP【洛谷P4290】 [HAOI2008]玩具取名
    背包 DP【洛谷P4158】 [SCOI2009]粉刷匠
    最短路+状压DP【洛谷P3489】 [POI2009]WIE-Hexer
    模板 Trie树
  • 原文地址:https://www.cnblogs.com/datiangou/p/10161780.html
Copyright © 2011-2022 走看看