Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

使用 TypeScript 时 webpack 中 alias 的设置 #35

Open
yyzclyang opened this issue Jun 17, 2019 · 0 comments
Open

使用 TypeScript 时 webpack 中 alias 的设置 #35

yyzclyang opened this issue Jun 17, 2019 · 0 comments

Comments

@yyzclyang
Copy link
Owner

在使用 TypeScript 时,如果想使用 alias 来进行路径解析,以便于 import 时方便路径的书写,那要怎么做呢?

我们第一时间会想到在 webpack 中这样设置:

resolve: {
    alias: {
      ROOT: require('path').resolve(__dirname)
    }
  }

这样就可以用 ROOT 代替根路径,方便 import 时少写几层 ../

但是在实际使用时,会出现 Cannot find module 'ROOT' 的情况,比如这样引用:

import { Icon } from 'ROOT/lib';

编辑器就会报错:

webpack 也会出现这样的错误:

这是因为使用 TypeScript 时,除了在 webpack 中设置 alias,同时也要在 tsconfig 中设置一下。

我们在 tsconfig 中加入这么一段。

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

这样一来就能正常的使用 import from 'ROOT/*' 了。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant