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