Угловая файловая заставка неизвестного провайдера - PullRequest
0 голосов
/ 16 мая 2019

Я установил angular-file-saver с помощью

bower install angular-file-saver

Затем я добавил зависимость в свой файл bower.json:

{
  "name": "app",
  "version": "0.0.0",
  "dependencies": {
    "angular": "^1.4.0",
    "bootstrap": "^3.2.0",
    "file-saver.js": "^1.20150507.2"
  },
  "devDependencies": {
    "angular-mocks": "^1.4.0"
  },
  "appPath": "app",
  "moduleName": "app",
  "overrides": {
    "bootstrap": {
      "main": [
        "less/bootstrap.less",
        "dist/css/bootstrap.css",
        "dist/js/bootstrap.js"
      ]
    }
  }
}

bower.json из file-saver.js is

{
  "name": "file-saver.js",
  "main": "FileSaver.js",
  "version": "1.20150507.2",
  "homepage": "https://github.com/Teleborder/FileSaver.js",
  "authors": [
    "Eli Grey (http://eligrey.com)"
  ],
  "description": "A saveAs() FileSaver implementation",
  "keywords": [
    "File",
    "FileSaver",
    "saveAs"
  ],
  "license": "LICENSE.md",
  "ignore": [
    "**/.*",
    "node_modules",
    "bower_components",
    "test",
    "tests",
    "demo",
    "FileSaver.min.js"
  ]
}

Затем я импортировал его в свой контроллер:

controller('MainCtrl', ['$http', 'file-saver.js', function ($http, fs) {  

Но я получаю ошибку:

Error: "[$injector:unpr] Unknown provider: file-saver.jsProvider <- file-saver.js <- MainCtrl
https://errors.angularjs.org/1.7.8/$injector/unpr?p0=file-saver.jsProvider%20%3C-%20file-saver.js%20%3C-%20MainCtrl"

Я пробовал другие имена, такие как file-saver, FileSaver, FileSaver.js, но ничего не работает.

1 Ответ

0 голосов
/ 16 мая 2019

В документации сказано, что вам нужно импортировать модуль ngFileSaver в свой модуль, а затем внедрить FileSaver в свой компонент. Вот приведенный пример:

angular
  .module('fileSaverExample', ['ngFileSaver'])
  .controller('ExampleCtrl', ['FileSaver', 'Blob', ExampleCtrl]);

После этого вы можете вызвать метод FileSaver.saveAs.

...