无法导入培根'进入Angular 2服务

时间:2016-06-28 20:32:40

标签: angular systemjs bacon.js angular-cli

我使用angular-cli创建一个新的Angular 2项目。我正在尝试添加' baconjs' npm项目,但没有成功。

我按照此处的说明操作:https://github.com/angular/angular-cli/wiki/3rd-party-libs

npm和typings安装工作查找。更改angular-cli-build.js文件导致' vendor / baconjs / dist / Bacon.js'安装在dist /目录中。但是,尝试import * as foo from 'baconjs'会导致此错误:

Cannot find module 'baconjs'.

我还尝试了...from 'baconjs/Bacon'...from 'baconjs/Bacon.js'。我在system-config.ts中尝试过很多不同的咒语。这是我目前的版本:

const map: any = {
  'baconjs': 'vendor/baconjs/dist'
};

/** User packages configuration. */
const packages: any = {
  'baconjs': { main: 'Bacon', defaultExtension: 'js' }
};

我已尝试过'格式'的所有不同值。领域。我尝试过使用和不使用defaultExtension。我尝试了很多东西。没有骰子。

神秘的是,System.import('baconjs/Bacon.js')似乎在使用错误的导入放在同一个文件的顶部时工作得很好。因此,所有systemjs配置都在做某事

嗯,好像在这个地方都有类似的问题。那好吧。把它记录下来......

1 个答案:

答案 0 :(得分:0)

好的,在阅读了很多文档并玩了很多东西后,这对我有用。这些几乎与角度维基上的下划线相同,但有一个重要的变化。

npm install baconjs --save
typings install baconjs --save --global

按照描述更改angular-cli-build和system-config文件,然后在服务文件的typescript文件中更改:

/// <reference path="../../../../../../typings/globals/baconjs/index.d.ts" />
import * as Bacon from 'baconjs';

不同之处在于导入行,而不是维基中的declare var _;。将/// <reference ...行作为文件中的第一行也很重要。