![]() |
3 yıl önce | |
---|---|---|
conf | 4 yıl önce | |
docs | 6 yıl önce | |
http-test | 4 yıl önce | |
public | 4 yıl önce | |
src | 3 yıl önce | |
tests | 5 yıl önce | |
.browserslistrc | 5 yıl önce | |
.editorconfig | 6 yıl önce | |
.env.development | 4 yıl önce | |
.env.production | 4 yıl önce | |
.eslintrc.js | 4 yıl önce | |
.gitignore | 4 yıl önce | |
CHANGELOG.md | 6 yıl önce | |
README.md | 3 yıl önce | |
babel.config.js | 5 yıl önce | |
deploy-readme.md | 4 yıl önce | |
docker-push.sh | 4 yıl önce | |
dockerfile | 4 yıl önce | |
jest.config.js | 5 yıl önce | |
jsconfig.json | 4 yıl önce | |
package.json | 3 yıl önce | |
postbuild.js | 4 yıl önce | |
postcss.config.js | 6 yıl önce | |
prebuild.js | 4 yıl önce | |
prettier.config.js | 6 yıl önce | |
vue.config.js | 4 yıl önce | |
yarn.lock | 3 yıl önce |
本项目是作为公司的前端的模板项目。采用的是 Vue 的全家桶技术。
本文档介绍项目如何使用和扩展、采用的技术栈、目录结构和最佳实践等。你不用一次看完所有内容,但是建议在正式开发前完整读一遍文档。
安装:
yarn
启动:
npm start
打包:
npm run build
默认配置 IE11+, Edge, Chrome, Firefox.
建议配置,去除 IE 的支持,Edge 17+, Chrome 55+(360 安全浏览器 9.1+)。
Vue 2.x Vuex 3.x Vue router 2.x
TODO: 架构图
vue-cli
目录 | 说明 |
---|---|
dist/ | 打包产出 |
docs/ | 技术要点的设计思路 |
node_modules/ | 依赖包 |
public/ | 公共目录,供发布 |
src/assets/ | 图片、字体文件等文件. 在多数情况下,应该把资源文件放在 src/features/下,这种情况可以让应用垂直划分,同时可以更干净的删除资源。 |
src/auth/ | 认证信息是全局的 |
src/api/ | api 集中管理,以资源角色分组,方便复用 |
src/components/ | 全局组件 |
src/constants/ | 集中放置全局常量,方便更新 API 的服务器地址等 |
src/directives/ | 全局的 directive |
src/features/ | 实现业务需求的组件。目标是让尽可能多的相关文件在相同的业务组件内。这使得开发团队可以更好的划分任务。业务组件可以依赖全局元素,如 src/auth, src/components, src/directives,或者依赖其它业务组件。但是业务组件不应该依赖其它业务组件的子组件,它应该使用其它组件的 public API。必要时,子组件可能在业务组件中重复。 |
src/modules/ | 当系统变大,多人负责独立模块时,设立 modules 文件夹,modules 文件夹下包含 api, components, constants, directives, filters, features, routes, store. 即 modules 下是一个小世界,在外部引用各个单独的 module。采用此文件夹时,就不需要 src/features/文件夹了。 |
src/filters/ | 全局的 filter |
src/plugins/ | vue plugins |
src/styles/ | 全局样式。 局部样式应该放在 src/features/ 或 src/modules/*/features 中 |
src/utils/ | 共享的工具类。 跟业务有关的工具方法放在 src/features/中 |
src/router/index.js | vue-router,可以引用 src/modules 下面的 routes。如果没有划分 module,可以在 src/router 下面写 model,比如 user.js。 |
src/store/index.js | 使用 Vuex 管理状态的单一 store. 可以引用 src/modules 下面的 store 。如果没有划分 module,可以在 src/store 下面写 page,比如 user.js。 |
static/ | 不需要 Webpack 处理的静态文件 |
tests/ | 单元测试和 E2E 测试 |
从用户操作,界面有一处集中显示操作反馈。
处理顺序如下:
如果用户需要 vuex action 的结果,可以在 vuex action 里面返回 promise,不建议在 component 处理状态。 应该尽可能通过 store 的状态更新使得界面更新。
无需共享状态的组件可以直接在组件的生命周期中发请求获取数据。一般是纯显示的组件比较多。
共享状态的通过 vuex 来处理。