我正在使用带有TypeScript版本2.0.3的
AutoMapper package,但是当我尝试导入它时,我总是得到错误“’automapper-ts’不是模块”:
如果我查看定义文件,它会以:
declare module AutoMapperJs {
它包含导出语句.
如果我将import语句更改为this,它将编译:
import {} from 'automapper-ts/dist/automapper';
但后来我没有得到一个Require语句,并且在运行时找不到全局的automapper静态变量.为了使它工作,我必须用引用替换import语句:
/// <reference path="../../node_modules/automapper-ts/dist/automapper.d.ts" />
<script src="lib/automapper-ts/dist/automapper.js"></script>
谁能解释我做错了什么?
解决方法
尝试导入“automapper-ts / dist / automapper”;应该导入包并让你使用自动化的东西,如automapper.initialize(< ...>);等等.
这类似于RxJS包,它也没有模块化和全局化(据我记得).
谢谢.按照上面的建议和评论,这里是我必须改变以使一切正常工作,虽然我在构建期间仍然遇到编译器错误(请参阅下面的注释):
map: { 'rxjs': 'npm:rxjs','automapper-ts': 'npm:automapper-ts',},packages: { "automapper-ts": { defaultExtension: 'js' },}
然后只需在component.ts文件中使用import语句:
import 'automapper-ts/dist/automapper';
这生成了正确的Require语句.