2017-02-13 152 views
0

我很努力地找到任何有關獲得第三方庫工作所需步驟的信息。用戶角度2和角度CLI的第三方庫

具體來說,我說的是第三方庫,在提供簡單的功能,比如一些數據操作.js文件

當官方angular cli 3rd party installation guide鏈接上點擊,它只是引導您的角度主頁cli github頁面不起作用。

例如,使用FileSaver作爲一個例子,這是我得到了它與一個黑客的工作方式

  1. NPM安裝filesaver.js

  2. 改變文件夾名,filesaver代替filesave.js,因爲IDE確實認爲它是一個文件

  3. 在node_modules/@types/filesaver/index.d.ts下創建一個新文件並註釋掉所有內容並將其放入

    declare module'filesaver'var saveAs:any; export = saveAs; }

作爲該幀的工作是過時的我不得不這樣破解它

  • 進口*作爲fireSaver從 'filesaver'
  • 有這種方法是一個問題。我不應該修改節點Module內部的內容,因爲如果我在新項目上運行npm install,內容將消失。我應該可以在src文件夾中創建我的d.ts文件,並以某種方式使用它。

    另外我不認爲d.ts是強制性的讓應用程序工作。但是,沒有修改這個d.ts文件,我無法讓應用程序工作。奇怪的?

    這一切似乎混亂,我找不到關於如何獲得一個簡單的js文件的任何信息。

    即使Angular Cli 3rd party offical已經過時並且會談系統js。

    回答

    2

    您的lib,使用下面的包,而不是:在組件

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

    import * as FileSaver from 'file-saver'; 
    

    我還有一個辦法第三方集成像filesaver.js與角CLI:

    npm install filesaver.js --save 
    

    "scripts"中的lib添加到angular-cli.json的文件:

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

    declare const FileSaver: any; 
    

    用法:

    FileSaver.saveAs() 
    

    先搜索你的包和類型:https://www.npmjs.com/

    +0

    嗨TIEP,謝謝。我正在通過你的第一個選項。在我從'文件保護程序'導入*作爲FireSaver後,我嘗試調用FileSaver.saveAs(),但它給我一個錯誤,指出「FileSaver僅指一種類型,但在此處用作值」乾杯 – ErnieKev

    +0

    並且if我做了saveAs(blob,'hello world.csv')我得到一個錯誤,說saveAs沒有定義。事件雖然如果我命令點擊saveAs(mac),我會從@types文件夾 – ErnieKev

    +0

    重新定向到index.d.ts。嘗試刪除所有其他filesaverjs版本,僅刪除文件保護程序和@ types/file-saver。 p/s這個lib工作正常我的應用程序:http://imgur.com/a/QfbsX –