SystemJS、Typescript、angular2 和模块化
SystemJS, Typescript, angular2 and modularity
我正在尝试用 angular2/systemjs/typescript 编写基本应用程序,并使用我与 angular1 一起使用的模块化,但遇到了一些问题。
我的应用程序中的任何地方都需要这个东西,而不依赖于文件的相对位置,其中 smth-module
是我编写并包含(导出)的任何模块 SmthCmp
class
import SmthCmp from 'smth-module';
测试应用结构
├── bootstrap.ts
├── graph-module
│ ├── component
│ │ └── line-graph
│ │ └── line-graph.ts
│ └── index.ts
└── page-module
├── component
│ └── page
│ └── page.ts
└── index.ts
bootstrap.ts
...
import {PageCmp} from 'page-module/index';
bootstrap(PageCmp, [
...
]);
page.ts
...
import {LineGraphCmp} from 'graph-module/index';
...
export class PageCmp {}
行-graph.ts
...
export class LineGraphCmp {}
图形和页面模块索引像这样
export {PageCmp} from './component/page/page';
也添加到System.config()
map: {
'graph-module': '/graph-module',
'page-module': '/page-module'
}
所以我可以在任何地方使用 export Smth from 'module/index'
语法,这几乎就是我所需要的。但是有一个问题
app/bootstrap.ts(4,23): error TS2307: Cannot find module 'page-module/index'.
app/page-module/component/page/page.ts(8,28): error TS2307: Cannot find module 'graph-module/index'.
我如何告诉 Typescript 编译器有关此模块的信息?或者我可以通过其他方式或模块系统实现此模块的使用吗?
我也可以在没有直接“/index”引用的情况下以某种方式实现这种用法 import {PageCmp} from 'page-module'
吗?
p.s。这是我在 this discussion
上的最后一个问题的复制粘贴
这个问题完全是关于我的问题。等待使用 moduleResolution: 'target'
用法
的 Typescript 更新
我正在尝试用 angular2/systemjs/typescript 编写基本应用程序,并使用我与 angular1 一起使用的模块化,但遇到了一些问题。
我的应用程序中的任何地方都需要这个东西,而不依赖于文件的相对位置,其中 smth-module
是我编写并包含(导出)的任何模块 SmthCmp
class
import SmthCmp from 'smth-module';
测试应用结构
├── bootstrap.ts
├── graph-module
│ ├── component
│ │ └── line-graph
│ │ └── line-graph.ts
│ └── index.ts
└── page-module
├── component
│ └── page
│ └── page.ts
└── index.ts
bootstrap.ts
...
import {PageCmp} from 'page-module/index';
bootstrap(PageCmp, [
...
]);
page.ts
...
import {LineGraphCmp} from 'graph-module/index';
...
export class PageCmp {}
行-graph.ts
...
export class LineGraphCmp {}
图形和页面模块索引像这样
export {PageCmp} from './component/page/page';
也添加到System.config()
map: {
'graph-module': '/graph-module',
'page-module': '/page-module'
}
所以我可以在任何地方使用 export Smth from 'module/index'
语法,这几乎就是我所需要的。但是有一个问题
app/bootstrap.ts(4,23): error TS2307: Cannot find module 'page-module/index'.
app/page-module/component/page/page.ts(8,28): error TS2307: Cannot find module 'graph-module/index'.
我如何告诉 Typescript 编译器有关此模块的信息?或者我可以通过其他方式或模块系统实现此模块的使用吗?
我也可以在没有直接“/index”引用的情况下以某种方式实现这种用法 import {PageCmp} from 'page-module'
吗?
p.s。这是我在 this discussion
上的最后一个问题的复制粘贴这个问题完全是关于我的问题。等待使用 moduleResolution: 'target'
用法