zoukankan      html  css  js  c++  java
  • 基于ng-alain前端框架项目开发

    现在前后端分离开发逐渐趋向成为一种主流,公司最近项目也开始采用前后端分离的模式。这篇文章主要记录下采用angular前端框架遇到的一些问题,或者是踩的一些坑。

    1、环境的搭建

      这个比较简单,网上相关文章很多。这里主要是安装node.js(npm包管理工具在安装node.js时会自动安装),还有再安装下angul/cli工具,这个工具可以大大简化我们的开发,提高效率。

    2、项目初始化

      这个可以参考ng-alain的官网或者是angular的官网 ng-alain安装angular官网

    ng new project-name
    cd my-project
    ng add ng-alain
    npm start

      ng new 命令后面可以带一些参数,比如 --style less 就是样式指定为less类型的文件,具体其他参数,可以参考angular官网中的cli命令部分内容,这里需要注意的一点,工程名字不能带有下划线,不让创建项目会失败

    3、一些需要注意的事项(这里讲的事项都是在开发环境下,具体部署是另一个同事部署的)

      好了,现在基于ng-alain的脚手架已经搭建成功了,是不是很简单。重点来了,这部分讲下项目开发过程中遇到的难题。 

      3.1 跨域问题

      因为是前后端分离,自然就涉及到跨域的问题啦,这里我主要是用代理的方式来解决跨域问题的。官方的参考文档:代理解决跨域

      第一步:在package.json同级目录下新建一个proxy.conf.json(这个文件的名字可以改变)。

      第二步:在proxy.conf.json文件中加入下面代码。

    {
        "/api": {
          "target": "http://localhost:8080",
          "secure": false,
          "pathRewrite": {
            "^/api": ""
          },
          "logLevel": "debug"
        }
      }

      在api开头的链接中都用其中api都会用http://localhost:8080替换,在这里可以配置多个后端。

      3.2 前端拦截器的配置。

      在ng-alain框架中,默认会拦截你的请求,如何没有token,请求会发不出去,所以不需要携带token的请求需要在在拦截器中排除,配置的地方在 project-namesrcappdelon.module.ts文件中,具体代码如下:

    import { DelonAuthConfig } from '@delon/auth';
    export function fnDelonAuthConfig(): DelonAuthConfig {
      return Object.assign(new DelonAuthConfig(), <DelonAuthConfig>{
        login_url: '/passport/login',
        ignores: [/api/test/hello/]
      });
    }

      这里主要添加了ignores这个属性的配置,其中的值就是我们要排除的请求地址。我配了一个 api/test/hello。代码中用的是正则表达式。

  • 相关阅读:
    Access denied for user 'root'@'localhost' (using password:YES) 解决方案
    MyBatis报错 Parameter '0' not found. Available parameters are [arg1, arg0, param1, param2]
    MySQL类型float double decimal的区别
    数据库--MyBatis的(insert,update,delete)三种批量操作
    mybatis的模糊查询格式
    java 24小时倒计时案例
    Project facet Java version 1.7 is not supported.解决方法
    eclipse中将项目加载到tocat报错:Tomcat version 6.0 only supports J2EE 1.2, 1.3, 1.4, and Java EE 5 Web modules
    网络爬虫的学习
    关于电脑安装多个版本JDK后使用时的切换
  • 原文地址:https://www.cnblogs.com/lqwh/p/10504545.html
Copyright © 2011-2022 走看看