Skip to content

uba-templates/nc-im-me-fe

Repository files navigation

NC智能制造前端工程

基于webpack+react+mirror搭建基本快速开发脚手架并使用强大的集成开发工具 uba

说明

  • 数据状态管理采用mirror (https://github.com/mirrorjs/mirror)

  • 本脚手架依赖于前端集成开发工具 uba ,项目生成的时候需要安装全局工具命令来使用,参与开发人员无需重复安装全局使用。

  • 集成市面上常规的使用插件等配置,可以满足常规开发需求,无需繁琐复杂的配置项,简单、干净、舒服。

  • 依赖强大的集成开发工具 uba 内置 数据模拟代理请求静态托管开放配置等功能.

  • 方便开发人员在快速搭建react前端开发项目,无需学习复杂配置环境,拆箱即用.

安装与使用

  1. npm install 安装
  2. npm run dev 运行服务
  3. npm run build 构建资源

默认内置

  • reactreact-domreact-routerwebpack.
  • babelES5\6postcssLess图片处理字体处理热部署.

修改默认配置

项目核心文件uba.config.js里面包含所有的配置,主要是基于webpack3配置,修改需谨慎。

数据模拟配置文件uba.mock.js可以配置需要模拟的请求方式,简单易懂,默认带完整配置。支出8种请求模式(OPTIONS,HEAD,GET,POST,PUT,DELETE,TRACE,CONNECT)

常见问题说明

  1. 服务器IP或端口冲突需要修改:
//服务启动设置
const svrConfig = {
  host: "127.0.0.1",
  port: 3000
};
  1. 代理服务的设置: 如下配置,proxyConfig是一个数组对象参数,可以配置多个,当enable:true的时候,启用该代理功能,router:"proxy"代理的路径是哪个,当配置成proxy的时候,访问我们的项目http://127.0.0.1:3000/proxy/你的代理路径资源地址这样来访问就可以了。 例子里面的地址是url:"cnodejs.org",远程的接口访问是:http://cnodejs.org/api/v1/topics;本地代理过去访问地址就是:http://127.0.0.1:3000/proxy/api/v1/topics,也可以去掉proxy这个代理路由,但是这样会导致路由跟现有的项目冲突,这样会有问题的。最好在请求数据的时候去配置一个可控制的参数来切换数据模拟和代理线上的问题。

当有需要排除不需要代理的情况,可以设置filter该参数,来编程去实现哪些资源是走代理,哪些不走代理。具体需要查询文档proxy

//远程代理访问,可以配置多个代理服务
const proxyConfig = [{
  enable: true,//true启用代理,mock服务失效.
  router: "/proxy",//代理本地对外的路径
  url: "cnodejs.org",
  options : {
    filter : function(req,res){
      return (req.url.indexOf("webpack_hmr") > -1 ? false : true);
    }
  }
}];
  1. 如何开启静态资源托管:
//静态服务托管
const staticConfig = {
  folder: "src/static"
};

找到该配置,直接设置src/static文件夹为直接对外开启静态目录功能,不受webpack影响,单独存在的,访问资源地址是:http://127.0.0.1:3000/js/demo.js,访问到的资源:src/static/*下的所有资源。

  1. 不想配置模拟数据路由直接访问mock下的json :

uba-server插件默认加载根目录mock文件夹内的资源托管,可以直接访问里面的json文件。http://127.0.0.1:3000/api/user/get.json->./mock/api/user/get.json

  1. devConfig是开发环境,是给uba-server插件读取用的,prodConfig是生产环境,是给uba-build构建资源读取用的。

About

贵冶项目前端工程 uba + bee + mirrorx

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published