无法将"baconjs"导入 Angular 2 服务



我正在使用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' }
};

我已经为'format'字段尝试了所有不同的值。我已经尝试过和没有defaultExtension。我试过很多东西。不行。

不可思议的是,当将System.import('baconjs/Bacon.js')与坏的导入放在同一个文件的顶部时,它似乎工作得很好。所有systemjs配置都在做一些的事情。

嗯,看起来到处都在问类似的问题。哦。写入记录....

好了,这是在阅读了很多文档并玩了很多之后对我有效的方法。这些几乎与angular wiki上的underscore指令相同,但有一个重要的变化。

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';

区别在于导入行,而不是wiki中的declare var _;。同样重要的是,/// <reference ...行是文件中的第一行。

相关内容

  • 没有找到相关文章

最新更新