@@ -73,12 +73,15 @@ yarn generate
7373├── nuxt.config.js 框架配置文件
7474├── package.json
7575├── src 开发目录
76+ │ ├── api api 资源管理
77+ │ │ ├── index.js 统一入口,定义 RESTful API 资源
78+ │ │ ├── repository.js RESTful 生成类,可以继承实现满足业务需求
79+ │ │ └── serverList.js 统一管理服务路径和 API version
7680│ ├── assets 资源,包括样式文件与图片
7781│ │ ├── global.less 全局样式类
7882│ │ └── var.less 样式变量,支持less变量自动引入,即不用在less中import就能直接使用变量
7983│ ├── components 业务无关的可复用的组件
8084│ ├── const 常量文件
81- │ │ ├── api.js 定义api路径
8285│ │ ├── path.js 定义页面跳转路径
8386│ │ └── cookie-keys.js cookie key管理
8487│ ├── container 业务有关的vue组件
@@ -124,7 +127,35 @@ Nuxt.js 会依据 `pages` 目录中的所有 `*.vue` 文件生成应用的路由
124127
125128### 调用接口
126129
127- 使用` this.$axios ` 调用接口:
130+ [ 推荐使用 service 层管理 API:] ( https://github.com/FEMessage/create-nuxt-app/blob/dev/docs/api.md )
131+
132+ 1 . 在 ` api/index.js ` 中定义一个 API
133+
134+ ``` js
135+ // 创建了一个菜单资源的 RESTful API
136+ export const menus = new Repository (` ${ SERVICE } /${ VERSION } /menus` )
137+ ```
138+
139+ 2 . 在 ` *.vue ` 、` store/*.js ` 的 ` actions ` 都可以调用
140+
141+ ``` js
142+ // 获取资源的服务器路径
143+ this .$http .menus .uri ()
144+ // 获取所有菜单资源,返回一个列表
145+ this .$http .menus .list ()
146+ // 获取某个菜单资源的详情
147+ this .$http .menus .detail (MENUS_ID )
148+ // 创建一个菜单资源
149+ this .$http .menus .create (payload)
150+ // 更新一个菜单资源
151+ this .$http .menus .update (MENUS_ID , payload)
152+ // 删除一个菜单资源
153+ this .$http .menus .delete (MENUS_ID )
154+ ```
155+
156+ 3 . 如果接口是非标准的 RESTful API 可以参考此[ 文档] ( https://github.com/FEMessage/create-nuxt-app/blob/dev/docs/api.md#%E8%BF%9B%E9%98%B6 )
157+
158+ 也可以继续使用` this.$axios ` 调用接口:
128159
129160- 建议使用` $get $post $[methods] ` 等方法,respone 中会直接返回请求的 body
130161- 可以在 ` *.vue ` 文件中的生命周期钩子函数中调用
@@ -264,12 +295,12 @@ mounted() {
264295
265296** 自带的环境变量说明**
266297
267- | 环境变量名 | 说明 | 是否必须 | 默认值 | 示例 |
268- | ---------- - | -------------------------------------------------------------------------------------------------------------------------- - | -------- | ------ | ------------------------ - |
269- | PUBLIC_PATH | 对应 webpack 的 publicPath,用于指定静态文件访问路径 | 是 | | http: // cdn.deepexi.com |
270- | API_SERVER | axios 的 baseURL,可不传。不传时,使用相对路径发送请求 | 否 | | https: // www.easy-mock.com |
271- | NO_LOGIN | 是否登陆拦截,传 1 则不会有登录拦截 | 否 | | 1 |
272- | COOKIE_PATH | 用于设置 cookie 的 path,如果多个项目需要共享 cookie,则应该保证项目在共同的目录下,且设置 COOKIE_PATH 为它们的共同目录地址 | 否 | / | / xpaas |
298+ | 环境变量名 | 说明 | 是否必须 | 默认值 | 示例 |
299+ | ---------- - | ------------------------------------------------------ | -------- | ------ | ------------------------ - |
300+ | PUBLIC_PATH | 对应 webpack 的 publicPath,用于指定静态文件访问路径 | 是 | | http: // cdn.deepexi.com |
301+ | API_SERVER | axios 的 baseURL,可不传。不传时,使用相对路径发送请求 | 否 | | https: // www.easy-mock.com |
302+ | NO_LOGIN | 是否登陆拦截,传 1 则不会有登录拦截 | 否 | | 1 |
303+ | APP_ID | 应用 ID | 否 | | |
273304
274305[⬆ Back to Top](#table- of - contents)
275306
0 commit comments