【问题标题】:Import 2 JavaScript functions with the same name in Angular project在 Angular 项目中导入 2 个同名的 JavaScript 函数
【发布时间】:2021-03-25 04:15:54
【问题描述】:

我将 JavaScript 文件导入到 Angular 项目中,如下所示:https://www.truecodex.com/course/angular-6/how-to-use-external-js-files-and-javascript-code-in-angular

一切正常。但是,有一个问题。我导入了 2 个同名的 JavaScript 文件。所以,当我像这样在组件的打字稿中使用它时:

declare const CMenu: any

这两个函数之间存在名称冲突。

有没有一种方法可以导入 JavaScript 文件,只针对一个特定的 Angular 模块。例如,在 Angular.json 中指定要在哪个模块中导入 JavaScript 文件。我实际上有很多使用相同函数名的 JS 文件,我需要使用来自 2 个不同模块的那些(每个模块使用具有相同名称的不同函数)。

【问题讨论】:

    标签: javascript angular


    【解决方案1】:

    在需要的页面上,可以用别名导入。

     import CMenu as CeeMenu from 'locationA';
     import CMenu as CMenu from 'locationB;
    
     declare const a:CeeMenu;
     declare const b:CMenu;
    

    这些导入可以合并到一个文件中,使用别名导出它们,因此您可以从一个位置导入它们。

     import CMenu as CeeMenu from 'locationA';
     import CMenu as CMenu from 'locationB;
     export CeeMenu as AA, CMenu as BB;
    
     import AA, BB from 'locationc';
     declare const a:AA;
     declare const b:BB;
    

    【讨论】:

    • 当我尝试像这样使用导入时:“从 '/../../externalJS/Cmain.js' 导入 CMain 作为 CMain”我收到错误“找不到命名空间 'as'”
    猜你喜欢
    • 1970-01-01
    • 2016-11-23
    • 2017-10-05
    • 2017-08-23
    • 2021-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-22
    相关资源
    最近更新 更多