react 如何用 @ 代表 import 的 /src?

发布于 2022-09-13 00:40:48 字数 456 浏览 11 评论 0

我在網上找到用這方式可以做到

{
  "compilerOptions": {
    "baseUrl": "src"
  }
}

假設
/src/styles/index.css
引入時

import '../../styles/index.css'

可以變成是

import 'styles/index.css'

但我想讓它表示的方式是

import '@/styles/index.css'

我就能區分該文件是不是從 node_modules 引入,看起來比較清楚? 可能強迫症

import '@/styles/index.css'
import ReactDOM from 'react-dom'

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

爱要勇敢去追 2022-09-20 00:40:48

src 目录起一个 @ 别名,需要告知 Webpack 和 代码编辑器 在遇到 import/require("@/xxx") 时去 src 目录查找

Webpack 与模块路径相关的是模块解析,因此需要配置 resolve,正好提供了 alias 字段配置路径别名

const path = require('path');

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

resolve.alias 的更多用法可见 https://webpack.docschina.org...

代码编辑器(这里默认是 VSCode),与模块路径相关的是 IntelliSense(智能补全/代码跳转),需要在 jsconfig.jsontsconfig.json 中配置 compilerOptions.paths

{
  "compilerOptions": {
    "baseUrl": ".",
    "paths": {
      "@/*": ["./src/*"]
    }
  }
}

https://code.visualstudio.com...

孤千羽 2022-09-20 00:40:48

请在webpack的配置中使用alias

module.exports = {
  resolve: {
    alias: {
      '~': path.resolve(__dirname, 'client'),
      '@components': path.resolve(__dirname, 'client/components'),
      'utils': path.resolve(__dirname, 'client/utils/utils.js'),
    },
  },
};
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文