React 添加引用路径时,使用@符号作为src文件

在react引用组件时,我们经常会遇到下图的情况

在这里插入图片描述

  • '…/…/…/'来指代文件所在文件夹的文职
  • 这种’…/'很不美观也很难读,看着就很复杂,很难读,不能一眼知道文件所在的位置情况
  • 在vue中,我们可以使用@来指代src文件夹

那么在react中,怎么使用@符号指代src文件夹呢?

  • 因为我的项目有用到antd,所以直接使用craco来配置

引入craco

$ yarn add @craco/craco

修改package.json文件,将craco作为执行文件

/* package.json */
"scripts": {
-   "start": "react-scripts start",
-   "build": "react-scripts build",
-   "test": "react-scripts test",
+   "start": "craco start",
+   "build": "craco build",
+   "test": "craco test",
}

配置craco.config.js文件

  • 在项目根目录创建一个 craco.config.js 用于修改默认配置。
/* craco.config.js */
module.exports = {
  // ...
};

将js的根路径和你想要自定义的路径拼接起来

const path = require("path")//导入path模块
//定义函数resolve,将你想要自定义的路径和js的根路劲作拼接
const resolve = dir =>path.resolve(__dirname,dir)

在module.exports中添加webpack相关配置

module.exports = {
  webpack:{
    alias:{
    //名称:路径
      "@":resolve("src")
    }
  }
};

然后就成功了,这样就不不用使用inject命令也能自定义目录了

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在 Python 中, @ 符号是装饰器的符号。装饰器是一种特殊的 Python 函数,可以让其他函数在不需要做任何代码变动的前提下增加额外功能。 例如,假设你有一个函数 `foo()`,你可以使用装饰器来给这个函数增加一个功能,如打印日志,而无需修改 `foo()` 函数的代码。 你可以这样使用装饰器: ``` @log def foo(): print('I am foo') ``` 在这个例子中,`log` 是一个装饰器函数,它被用来装饰 `foo()` 函数。这样,在调用 `foo()` 函数,会先调用 `log` 函数,然后再调用 `foo()` 函数。 装饰器的语法看起来有些复杂,但是它可以让你在不修改函数代码的情况下给函数增加额外功能,这在很多情况下都是很有用的。 ### 回答2: 在Python中,@符号是一个装饰器的语法标记。装饰器是一种用于修改、扩展或包装函数或类的方式。通过在函数或类的定义之前使用@符号,可以将装饰器应用于该函数或类。 装饰器是Python中的一个强大的特性,它可以在不修改原始函数或类定义的情况下,添加新的功能。当函数或类被装饰器修饰后,每次调用该函数或实例化该类,都会先执行装饰器中的代码,然后再执行原始函数或类定义中的代码。 使用@符号来应用装饰器非常简单。具体做法是在定义函数或类之前,使用@符号将装饰器名称放在紧接其后,然后再写上函数或类的定义代码。装饰器的一般形式是@decorator_name。 装饰器的实现原理是将被装饰的函数或类作为参数传递给装饰器函数,并返回一个新的函数或类对象。这样,原始函数或类就被新的函数或类对象替代,从而实现了装饰器对原始函数或类的修改或包装。 常见的应用场景包括:添加日志、计、异常处理、权限校验等。装饰器的使用使得代码更加简洁、可读性更高,并且允许开发人员通过添加和组合装饰器来实现各种功能。 需要注意的是,装饰器语法中@符号使用仅适用于Python 2.4及以上版本。在早期的Python版本中,装饰器是通过在函数或类的定义后,用装饰器函数调用原始函数或类的方式来实现的。 ### 回答3: 在Python中,@符号通常用于装饰器(Decorator)的语法。装饰器是一种用于修改函数或类行为的语法糖。通过使用@符号,在函数或类定义之前,可以将装饰器应用于它们。装饰器可以通过添加额外的功能来扩展函数或类,而不需要对它们的实现进行修改。 使用装饰器可以简化代码的编写和维护,提高代码的可读性和可重用性。常见的装饰器包括@property、@staticmethod和@classmethod等。 @property是一个内置的装饰器,用于将一个方法转化为只读属性。通过在方法前添加@property,可以将该方法作为实例属性进行访问,而不需要使用调用括号。 @staticmethod是另一个常用的内置装饰器,用于将一个方法转化为静态方法。静态方法与类相关,但是与实例无关。通过在方法前添加@staticmethod,可以将该方法变成一个不需要实例化即可调用的方法。 @classmethod是另外一个内置装饰器,用于将一个方法转化为类方法。类方法与类相关,但是与实例无关。通过在方法前添加@classmethod,可以将该方法变成一个可以访问类中的属性和调用类中的方法的方法。 总而言之,@符号在Python中的意思是装饰器的语法糖,用于扩展函数或类的功能,并简化代码的编写和维护。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值