导入ES6:为软件包指定别名

Mos*_*she 4 javascript import ecmascript-6

请查看以下导入声明:

import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
Run Code Online (Sandbox Code Playgroud)

是否可以为要导入的软件包的名称提供别名-即在这种情况下为@fortawesome/react-fontawesome。这样,我不必每次都写出整个项目名称。

为了清楚起见,我正在寻找最终结果,我可以执行以下操作:

import { FontAwesomeIcon } from 'fa'
Run Code Online (Sandbox Code Playgroud)

或这个

import { FontAwesomeIcon } from '@custom/fa'
Run Code Online (Sandbox Code Playgroud)

我使用fa(或@custom/fa)创建的名称引用了实际的@fortawesome/react-fontawesome库。

这可能吗?如果是这样,怎么办?

Rid*_*ell 5

我假设您正在使用webpack。如果是这样,您可以使用Webpack.resolve功能。您只需要webpack.config.js像下面那样编辑和设置:

// webpack.config.js
module.exports = {
    //...
    resolve: {
        alias: {
            fa: path.resolve(__dirname, '@fortawesome/react-fontawesome')
        }
    }
    //...
}
Run Code Online (Sandbox Code Playgroud)

您的导入将变为

import { FontAwesomeIcon } from 'fa'
Run Code Online (Sandbox Code Playgroud)