代码之家  ›  专栏  ›  技术社区  ›  Moshe

导入ES6:为包提供别名

  •  2
  • Moshe  · 技术社区  · 5 年前

    请看下面的导入语句:

    import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
    

    有没有可能给客户的名字加个别名 正在被导入,也就是说,在这个例子中 @fortawesome/react-fontawesome .

    为了清楚起见,我正在寻找一个最终的结果,我可以这样做:

    import { FontAwesomeIcon } from 'fa'
    

    import { FontAwesomeIcon } from '@custom/fa'
    

    fa (或 @custom/fa @太棒了/太棒了 图书馆。

    这可能吗?如果是,怎么做?

    2 回复  |  直到 5 年前
        1
  •  5
  •   Riddell    5 年前

    我假设你正在使用网页包。如果是这样,你可以用 Webpack.resolve webpack.config.js

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

    你的进口将变成

    import { FontAwesomeIcon } from 'fa'
    
        2
  •  1
  •   Jakub    5 年前

    可以创建一个文件,将依赖项存储在对象中。我将这个文件命名为dependencies.js。

    export default const dependencies = {
      FA: '@fortawesome/react-fontawesome',
      ...
      ...
    }
    

    然后您可以在每个javascript文件的顶部导入这些文件,并使用它来导入更多的依赖项。

    import dependencies from './dependencies';
    import { FontAwesomeIcon } from dependencies.FA