liuanxin / mall-manager

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

运行

使用国内镜像

yarn config set registry https://registry.npm.taobao.org

安装包: yarn
本地运行: yarn dev
打包测试: yarn test
打包生产: yarn build


注意


目录

├── dist             打包以后的文件存放目录
├── node_modules     项目依赖包
│
│    !!!上面的不需要版本控制!!!
│
├── public            见: https://cli.vuejs.org/zh/guide/html-and-static-assets.html#public-%E6%96%87%E4%BB%B6%E5%A4%B9
├── src               源码目录
│   ├── api             请求后台接口的目录
│   ├── assets          项目用到的静态图片目录
│   ├── components      组件目录
│   ├── icons           图标目录
│   ├── layout          页面布局目录
│   ├── store           状态管理(vuex)
│   ├── styles          样式文件目录
│   ├── utils           工具目录
│   ├── views           页面目录
│   │
│   │    !!!上面的是目录, 下面是文件!!!
│   │
│   ├── App.vue         也不是很懂 public/index.html 和 main.js 和 App.vue 三者为什么要搞这么复杂
│   ├── config.js       项目全局配置
│   ├── main.js         程序入口, 初始化 vue 实例、样式、插件、公共组件
│   ├── permission.js   权限控制(调度路由), 建一个同名目录, 里面放一个 index.js 是一样的
│   └── router.js       路由管理, 建一个同名目录, 里面放一个 index.js 是一样的
│
├── .babelrc          打包时将一些语法(比如 import('/a/b/c') 这种)转换成 es 标准的工具配置(使用 babel.config.js 文件也是一样的)
├── .editorconfig     编辑器配置, 给 ide 用的(各种文件格式的缩进等)
├── .env.dev          本地开发的配置文件
├── .env.prod         生产环境的配置文件
├── .env.test         测试环境的配置文件
├── .eslintignore     不需要格式化的配置文件
├── .eslintrc.js      格式化代码的配置
├── jsconfig.json     给 ide 用的 js 配置(如 @ 表示 src 目录, 注意跟 webpack 保持一致), 见: https://code.visualstudio.com/docs/languages/jsconfig
├── package.json      项目配置
├── vue.config.js     运行 npm run .. 命令时 vue-cli-service 使用的配置(比如 webpack 相关的)
└── yarn.lock         项目版本相关的锁定文件(用 npm 命令会生成 package-lock.json)

node 系的版本号是一个灾难, 比如有这么三个版本号

"1.0.1"   表示指定的版本
"~1.0.1"  表示 1.0.X 中最新的版本
"^1.0.1"  表示 1.X.X 中最新的版本

更要命的是即便项目中都是指定版本, 但是那些包里面是可能会依赖带有 ~^ 的其他包的,
为了避免同一份代码不同的打包环境导致的差异, 于是衍生出了 yarn.lock 这样的锁定文件.

宽松不严谨的选项带来数之不尽的麻烦!


PS: 使用 yarn cache dir 命令可以查看 yarn 的本地缓存目录, 跟 npm 命令相比下面的命令是等同的

yarn             ===    npm install
yarn add x       ===    npm install x --save
yarn remove x    ===    npm uninstall x --save
yarn add x --dev ===    npm install x --save-dev
yarn upgrade     ===    npm update --save
运行 vue-cli-service serve 时 --mode 的默认值是 development, 也就是配置文件改成 .env.development 则会自动加载
运行 vue-cli-service build 时 --mode 的默认值是 production, 也就是配置文件改成 .env.production 则会自动加载
见: https://cli.vuejs.org/zh/guide/cli-service.html#vue-cli-service-serve

权限控制

添加页面时, 需要在 router.js 中添加定义, 主要是 routersMappingroutersRelation 两个地方.
前者申明页面信息及映射, 后者定义页面之间的层级关系, 本地运行时会在浏览器打印出菜单相关的数据库表及定义的层级关系 sql.

用户登录成功后 以及 管理员操作角色时 后端返回的数据以 routersRelation 为准, 见其上面的注释

如果权限需要加强到按钮级, 跟上面菜单的一样, 前端定义命名, 生成表结构及数据给后端.
操作角色时后端将菜单和按钮相关的 id 与角色关联在一起, 当用户登录后返回给前端, 前端控制显示与否


About


Languages

Language:JavaScript 64.0%Language:Vue 29.0%Language:SCSS 6.6%Language:HTML 0.3%