1. 新创建一个项目 : ng new app(项目名称)
2. 进入到项目中,npm install,加载依赖包
3. ng serve 运行,在浏览器输入localhost:4200查看项目,是否成功
4. 停止项目是:ctrl+c 然后输入y即可
4. src下边的app下边编写项目
assets下是项目所需要的图片,js,css
.angular-cli.json中的styles和scripts加载放js和css的路径(写上需要重启项目)
styles.css是全局的css,main.ts是全局的js
index.html是首页所加载的页面
5. 创建一个组件 ng g c teacher(组件名称) --skip--import(如果创建失败的话),
一个组件包括teacher.ts相当于js,.css相当于样式,html中写的是页面
如果用到懒加载,自动加载,需要在app.html中写上
6. 新建一个module文件 ng g m teacher ,用来存放teacher文件下所需要的服务,组件
7. 新建一个app.routing.module.ts文件(放在app.module的imports中),
规定路径,path:"",loadChildren:"app/teacher/teacher.module#TeacherModule",加载的是teacher中的module
8. 新建一个service服务 :ng g s teacher/service/teacher ,用来跟后台交互的方法,一般使用httpClient.post(url,formdata)
,记得一定要在teacher.module中provider中写入这个服务,
module.ts中调用服务this.service.方法名称.subscript(res=>{
console.log(res);
})
9.写一个config公共的url管理(方便频繁修改),新建一个config.ts,然后建立每一个模块的const loginConfig={url:""}、 teacherConfig 等,然后最下边 export{loginConfig}
10. 做权限管理拦截的时候,需要新建一个guard,然后再需要加权限的路由下写上:canActivate:[AuthGuard]
,然后再guard中判断,如果已经登录,return true,没有登录,跳转登陆页面
11. app.module中 包括imports,declarations,exports,providers
imports引入的都是teacher之内创建的组件compoment.ts
declarations引入的都是广泛的,modules,form,appmodule,nz-zorro的modules,tree组件的modules等
exports:指令和管道,directive,pipe
provider:服务,可以供其余组件使用的
12. 注意:新建的组件一定要在declarations中引入,否则会报错
新建的routing一定要在imports中引入module,否则使用会找不到
新建的service使用一定要在providers中写入,否则,会报没有provider错误
13. 打包:在app.routing下imports中 RouterModule.forRoot(appRoutes,{userHash:true})使用锚点标记路由,否则出不来
在package.json中build后写:"ng build --base-href /teacher/"
npm run build打包
新建一个文件夹teacher,然后把打包好的dist下的所有文件复制到teacher中,然后放到部署环境中
运行,在浏览器输入localhost:4200/teacher/ 即可