【问题标题】:How to configure module.alias properly如何正确配置 module.alias
【发布时间】:2023-03-23 17:12:01
【问题描述】:

我想在使用 React Starter Kit 的项目中使用 webpack 中的 resolve.alias 功能。

例如:

改为:

import Component from '../../components/Component

我想使用

import Component from 'components/Component

我已经在config.js 文件中添加了这个配置:

resolve: {
  alias: {
    components: './src/components'
  }
}

resolve.alias 为与 webpack 捆绑的项目启用别名,但不适用于 React Starter Kit。

【问题讨论】:

    标签: javascript reactjs webpack isomorphic-javascript react-starter-kit


    【解决方案1】:

    怎么样?

    import Component from 'components'
    

    【讨论】:

    【解决方案2】:

    需要给alias配置完整路径:

    resolve: {
      alias: {
        components: path.resolve(__dirname, './src/components')
      }
    }
    

    我通常不使用别名,而是使用modules 来“挂载”我的整个src 文件夹:

    resolve: {
      modules: [
        path.resolve(__dirname, "./src"),
        'node_modules',
      ],
    

    其中,假设我有一个像这样的目录结构:

    src/
    src/components/...
    src/util/...
    src/routes/...
    src/views/...
    

    让我来写这些类型的导入:

    import C from 'components/C';
    import foo from 'util/foo';
    import routes from 'routes/blah';
    ...
    

    【讨论】:

    • 这解决了我的部分问题,实际上我的问题与this problem 有关。无论如何,这种方法非常适合实现我的目标。谢谢。
    猜你喜欢
    • 2017-05-18
    • 2018-05-27
    • 1970-01-01
    • 2017-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多