【问题标题】:User 3rd party library with angular 2 and angular CLI具有 angular 2 和 angular CLI 的用户 3rd 方库
【发布时间】:2017-06-30 23:16:50
【问题描述】:

我正在努力寻找与让 3rd 方库正常工作所需的步骤相关的任何信息。

具体来说,我说的是 .js 文件中的第 3 方库,它提供简单的功能,例如一些数据操作

当点击官方angular cli 3rd party installation guide 链接时,它只会将您定向到 Angular cli github 页面的主页,这没有帮助。

例如,以FileSaver 为例,这就是我如何让它以一种黑客方式工作

  1. npm install filesaver.js

  2. 将文件夹名称更改为 filesaver 而不是 filesave.js,因为 IDE 确实认为它是一个文件

  3. 在node_modules/@types/filesaver/index.d.ts下新建一个文件,注释掉所有内容并放入

    声明模块'filesaver' { var saveAs: 任何; 出口=另存为; }

由于这个框架已经过时了,我不得不用这种方式破解它

  1. import * as fireSaver from 'filesaver'

这种方法存在问题。我不应该修改节点模块内部的内容,因为如果我在新项目上运行 npm install,内容将会消失。我应该能够在 src 文件夹中创建我的 d.ts 文件并以某种方式使用它。

另外,我不认为 d.ts 是让应用程序正常工作的必要条件。但是,如果不修改此 d.ts 文件,我无法使应用程序正常工作。奇怪吗?

这一切看起来都很混乱,我找不到任何关于如何让一个简单的 js 文件运行的信息。

连Angular Cli 3rd party offical都过时了,讲系统js。

【问题讨论】:

    标签: angular


    【解决方案1】:

    对于您的库,请改用以下软件包:

    npm install file-saver --save
    npm install @types/file-saver --save-dev
    

    在组件中:

    import * as FileSaver from 'file-saver';
    

    我有另一种方法可以将filesaver.js 等第 3 方与 Angular CLI 集成:

    npm install filesaver.js --save
    

    在angular-cli.json 文件的"scripts" 部分添加库:

    "scripts": [
      "../node_modules/filesaver.js/FileSaver.js"
    ],
    

    在组件中:

    declare const FileSaver: any;
    

    用法:

    FileSaver.saveAs()
    

    首先搜索您的包和类型:https://www.npmjs.com/

    【讨论】:

    • 您好,谢谢。我正在经历你的第一个选择。从'file-saver'导入*作为FireSaver后,我尝试调用FileSaver.saveAs(),但它给了我一个错误,说“FileSaver仅指一种类型,但在这里被用作一个值”干杯
    • 如果我执行 saveAs(blob, 'hello world.csv') 我会收到一条错误消息,提示未定义 saveAs。事件虽然如果我命令单击 saveAs (mac),我会从 @types 文件夹重新定向到 index.d.ts
    • 尝试删除所有其他 filesaverjs 版本,仅删除文件保护程序和 @types/file-saver。 p/s 这个库在我的应用程序上工作正常:imgur.com/a/QfbsX
    • 它正在工作!你是英雄!非常感谢。快速提问,我最初的问题是因为我正在运行 npm install filesaver.js。这让我非常痛苦。你怎么知道这个是正确的。还是你也经历过痛苦?再次感谢
    • 我先在npmjs.com搜索,在右侧栏,你可以看到github repo,点击查看repo详情,如果这个repo从其他repo分叉,也许其他repo更好
    猜你喜欢
    • 1970-01-01
    • 2017-02-24
    • 2016-10-21
    • 2016-10-22
    • 2017-04-10
    • 2017-03-21
    • 2016-10-29
    • 2016-09-28
    • 2017-12-14
    相关资源
    最近更新 更多