Ionic2 离子2升级文件结构
我正在将我的应用程序从Ionic2 离子2升级文件结构,ionic2,Ionic2,我正在将我的应用程序从Ionic 2.0.0-beta.20升级到Ionic 2.0.0-rc.3 报告说: 导入并将每个自定义组件和管道添加到 src/app/app.module.ts中的声明数组 导入每个提供程序并将其添加到中的提供程序数组中 src/app/app.module.ts 删除中对提供程序、管道和指令数组的任何使用 @组件 问题1 在旧的Ionic 2.0.0-beta.20版本中,所有工件都位于app/pages文件夹中。使用Ionic 2.0.0-rc.3,它们是应该
Ionic 2.0.0-beta.20升级到Ionic 2.0.0-rc.3
报告说:
- 导入并将每个
自定义组件
和管道
添加到
src/app/app.module.ts
中的声明数组
- 导入每个
提供程序
并将其添加到中的提供程序
数组中
src/app/app.module.ts
- 删除中对
提供程序
、管道
和指令
数组的任何使用
@组件
问题1
在旧的Ionic 2.0.0-beta.20版本中,所有工件都位于app/pages
文件夹中。使用Ionic 2.0.0-rc.3
,它们是应该与所有页面一起放在src/pages
文件夹中,还是应该在其他地方分开
问题2
如果我从每页的@组件
部分删除所有指令
,这些指令将在哪里定义
e、 g
关于问题1,实际上你可以决定你的项目结构如何,并根据这一点将文件放在你想要的地方(唯一的改变是你在导入语句中使用的路径)。爱奥尼亚的默认项目结构按照类型组织事情,因此默认情况下,您会有如下内容:
src
...
pages
pipes
providers
...
src
feature1
page1FromFeature1
page2FromFeature1
modelFromFeature1
providerFromFeature1
feature2
...
shared
providers
pages
directives
pipes
@NgModule({
declarations: [
MyApp,
// Pages
...
// Pipes
...,
// Directives
...
],
imports: [
IonicModule.forRoot(MyApp)
],
bootstrap: [IonicApp],
entryComponents: [
MyApp,
// Pages
...
],
providers: [
// Providers
...
]
})
export class AppModule {}
找到东西放在哪里的最简单的方法之一就是使用ionic生成。。。customName
命令,其中三个点可以是页面
,提供者
,管道
和指令
。这将创建工件并将其放置在应该的位置
您还可以查看,了解爱奥尼亚团队是如何组织项目的,以及所有项目的位置
也就是说,我一直在从事一些项目,这些项目都是按照功能进行组织的,因此项目结构是这样的:
src
...
pages
pipes
providers
...
src
feature1
page1FromFeature1
page2FromFeature1
modelFromFeature1
providerFromFeature1
feature2
...
shared
providers
pages
directives
pipes
@NgModule({
declarations: [
MyApp,
// Pages
...
// Pipes
...,
// Directives
...
],
imports: [
IonicModule.forRoot(MyApp)
],
bootstrap: [IonicApp],
entryComponents: [
MyApp,
// Pages
...
],
providers: [
// Providers
...
]
})
export class AppModule {}
这实际上是Angular2建议在未来组织项目的方式
关于问题2,指令应包含在NgModule声明数组中,如下所示:
src
...
pages
pipes
providers
...
src
feature1
page1FromFeature1
page2FromFeature1
modelFromFeature1
providerFromFeature1
feature2
...
shared
providers
pages
directives
pipes
@NgModule({
declarations: [
MyApp,
// Pages
...
// Pipes
...,
// Directives
...
],
imports: [
IonicModule.forRoot(MyApp)
],
bootstrap: [IonicApp],
entryComponents: [
MyApp,
// Pages
...
],
providers: [
// Providers
...
]
})
export class AppModule {}
谢谢你的全面回答(很高兴我能帮忙:)