我有一个使用模块(外部模块)的Angular 2项目,并希望使用一个使用名称空间的库(automapper-ts)。
我如何包含或导入它?我查看了有关模块和命名空间的文档。但是我不清楚如何使用仅在使用模块的项目中使用名称空间的库。
答案 0 :(得分:1)
如果某个库没有将任何内容导出到UMD,AMD或CommonJS格式,那么您只需加载它(例如使用<script>
标记)或从您的加载器/捆绑器中获取它。命名空间将以旧式方式提供:来自全局变量。
为了编译代码,根据您的配置,您必须让编译器找到库的声明文件。 This one, I guess
答案 1 :(得分:0)
虽然该库尚未设计为模块化库,但使用Angular 2+的库并不是很难。我之前在包的GitHub页面上创建了有关此问题的问题时,我已经回答了这个问题:https://github.com/loedeman/AutoMapper/issues/17。
为了清晰(和索引),这是我提出的解决方案:
我刚刚使用Angular CI创建了一个基本的Angular应用程序。如果您遵循使用第三方库(https://github.com/angular/angular-cli#3rd-party-library-installation)的指导原则,让AutoMapper正常运行非常容易。摘录:
npm install automapper --save
declare module 'automapper-ts';
"../node_modules/automapper-ts/dist/automapper.min.js"
import { } from 'automapper-ts';
现在您应该能够使用所记录的automapper全局变量。
Ragarding typing:我发现AutoMapper的package.json缺少package.json中的typings属性。它会在那里很快(肯定会在这篇文章后立即提交),但同时你可以自己添加它,就在主要属性的下方:
"typings": "./dist/automapper",