如何在React Static Boilerplate中创建webpack导入别名?

皮埃尔

我有以下内容import

// cwd: /project/pages/blog/category/red/index.js

import PageHeader from '../../../components/PageHeader';

而且我希望能够以这种方式(在我的项目中的任何地方)编写它:

// cwd: /project/pages/blog/category/red/index.js

import PageHeader from 'components/PageHeader';

我尝试使用webpackresolve 选项,但似乎无法正常工作:

config.resolve = {
  alias: {
    components: [
      path.resolve('../components/')
    ]
  }
};

config.resolve = {
  root: [
    path.resolve('../')
  ]
};

我想念什么吗?

我的应用程序架构是从React Static Boilerplate派生出来的,所以我的webpack.config.js看起来像这样

皮埃尔

该问题似乎与React Static Boilerplate有关,尤其是在构建静态页面时。

我找到了一种解决方法,目前可以解决此问题。我必须~在别名前面加上a ,这样它才不会被“视为” node_module。

config.resolve = {
  alias: {
    "~components": path.resolve(__dirname, '../components'),
    "~decorators": path.resolve(__dirname, '../core/scripts/decorators'),
    "~helpers": path.resolve(__dirname, '../core/scripts/helpers'),
    "~i18n": path.resolve(__dirname, '../core/i18n'),
  }
};

用法:

import fetch from '~helpers/fetch';
import header from '~components/header';

有关此问题的更多信息,请参见Github问题

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章