1 | # @sweet-mobile-sdk 文档
|
2 | > 基于webpack@4.10.2 Vue.js@2.5.16的移动端构建sdk
|
3 |
|
4 | ### 目录
|
5 | * --- config // 配置文件目录
|
6 | * --- koa2-middle // koa2中间件
|
7 | * --- errorMiddleWare.js // 错误处理
|
8 | * --- fileMiddle.js // 处理请求访问本地文件(开发模式)
|
9 | * --- proxyMiddleWare.js // 处理开发环境代理转发
|
10 | * --- logger
|
11 | * --- koa-logger.js // koa2服务log
|
12 | * --- vue-logger.js // .vue中log
|
13 | * --- utils
|
14 | * --- env.js // 环境变量判断
|
15 | * --- responsiveDesign.js // 响应式js
|
16 | * --- StringUtils.js // 公共方法
|
17 | * --- eslintrc.conf.js // eslint 规则配置
|
18 | * --- koa-dev-server.js // koa2 开发服务配置
|
19 | * --- manifest.js // h5离线缓存文件生成脚本
|
20 | * --- vue-loader.conf.js // vue loader 配置
|
21 | * --- webpack.config.base.js // webpack 基础配置
|
22 | * --- webpack.config.dev.js // webpack 开发配置
|
23 | * --- webpack.config.dll.js // webpack dll配置 单独打包第三方库
|
24 | * --- webpack.config.prod.js // webpack生产配置
|
25 | * --- .gitignore
|
26 | * --- index.js // 入口文件
|
27 | * --- package.json
|
28 | * --- README.md
|
29 |
|
30 |
|
31 | ### webpack配置
|
32 |
|
33 | * webpack.config.base.js
|
34 | * webpack.config.dev.js
|
35 | * webpack.config.dll.js
|
36 | * webpack.config.prod.js
|
37 |
|
38 | ### koa2
|
39 |
|
40 | 暂时只作为开发服务
|
41 |
|
42 | ### eslint规则
|
43 | ```js
|
44 | /**
|
45 | * eslint规则配置,用于被业务工程引用
|
46 | * Created by liuzhengdong on 2018/4/3.
|
47 | */
|
48 | module.exports = {
|
49 | root: true,
|
50 | env: {
|
51 | // 环境定义了预定义的全局变量。
|
52 | browser: true,
|
53 | node: true,
|
54 | es6: true,
|
55 | mocha: true
|
56 | },
|
57 | parser: 'babel-eslint', //使用babel-eslint来作为eslint的解析器
|
58 | parserOptions: {
|
59 | // ECMAScript 版本
|
60 | ecmaVersion: 6,
|
61 | sourceType: 'module',
|
62 | // // 想使用的额外的语言特性:
|
63 | ecmaFeatures: {
|
64 | experimentalObjectRestSpread: true,
|
65 | }
|
66 | },
|
67 | extends: 'standard',
|
68 | plugins: [
|
69 | 'html',
|
70 | 'import',
|
71 | 'promise',
|
72 | ],
|
73 | // add your custom rules here
|
74 | rules: {
|
75 | // 禁止条件表达式中出现赋值操作符
|
76 | 'no-cond-assign': 2,
|
77 | // 允许console语句
|
78 | 'no-console': 1,
|
79 | // 允许 debugger
|
80 | 'no-debugger': 0,
|
81 | // 禁止 function 定义中出现重名参数
|
82 | 'no-dupe-args': 2,
|
83 | // var声明
|
84 | 'no-var': 1,
|
85 | // 分号;
|
86 | 'semi': [
|
87 | 0,
|
88 | 'always'
|
89 | ],
|
90 | // 使用 === 替代 == allow-null允许null和undefined==
|
91 | 'eqeqeq': [
|
92 | 2,
|
93 | 'allow-null'
|
94 | ],
|
95 | // 禁用 alert、confirm 和 prompt
|
96 | 'no-alert': 2,
|
97 | // 禁用 eval()
|
98 | 'no-eval': 2,
|
99 | // 禁用 with 语句
|
100 | 'no-with': 2,
|
101 | // 要求或禁止使用严格模式指令
|
102 | 'strict': 2,
|
103 | //////////////
|
104 | // 要求或禁止 var 声明中的初始化(初值)
|
105 | 'init-declarations': 2,
|
106 | // 不允许 catch 子句的参数与外层作用域中的变量同名
|
107 | 'no-catch-shadow': 0,
|
108 | // 禁止删除变量
|
109 | 'no-delete-var': 2,
|
110 | // 不允许标签与变量同名
|
111 | 'no-label-var': 2,
|
112 | // 禁用特定的全局变量
|
113 | 'no-restricted-globals': 0,
|
114 | // 禁止 var 声明 与外层作用域的变量同名
|
115 | 'no-shadow': 0,
|
116 | // 禁止覆盖受限制的标识符
|
117 | 'no-shadow-restricted-names': 2,
|
118 | // 禁用未声明的变量,除非它们在 /*global */ 注释中被提到
|
119 | 'no-undef': 2,
|
120 | // 禁止将变量初始化为 undefined
|
121 | 'no-undef-init': 2,
|
122 | // 禁止将 undefined 作为标识符
|
123 | 'no-undefined': 0,
|
124 | // 禁止出现未使用过的变量
|
125 | 'no-unused-vars': [
|
126 | 0,
|
127 | {
|
128 | 'vars': 'all',
|
129 | 'args': 'none'
|
130 | }
|
131 | ],
|
132 | // 不允许在变量定义之前使用它们
|
133 | 'no-use-before-define': 0,
|
134 | // 强制一行的最大长度
|
135 | 'max-len': [
|
136 | 1,
|
137 | 200
|
138 | ],
|
139 | // 文件末尾强制换行
|
140 | 'eol-last': 0,
|
141 | // 强制使用一致的反勾号、双引号或单引号
|
142 | 'quotes': [
|
143 | 2,
|
144 | 'single'
|
145 | ],
|
146 | // 禁止修改 const 声明的变量
|
147 | 'no-const-assign': 2,
|
148 | // 禁止标识符中有悬空下划线_bar
|
149 | 'no-underscore-dangle': 0,
|
150 | // 禁用行尾空格
|
151 | 'no-trailing-spaces': 2,
|
152 | // 禁用不必要的嵌套块
|
153 | 'no-lone-blocks': 2,
|
154 | // 强制在 JSX 属性中一致地使用双引号或单引号
|
155 | 'jsx-quotes': 0,
|
156 | // 函数定义时括号前面要不要有空格 这里忽略
|
157 | 'space-before-function-paren': [0, `always`],
|
158 | //对象字面量项尾不能有逗号 这里忽略
|
159 | 'comma-dangle': [0, 'always'],
|
160 | },
|
161 | }
|
162 | ```
|