system-phone 1.2.7 → 1.2.8-ca

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. package/.babelrc +5 -5
  2. package/.editorconfig +9 -9
  3. package/.eslintrc.js +16 -16
  4. package/.npmignore +9 -9
  5. package/CHANGELOG.md +1 -1
  6. package/Dockerfile +3 -3
  7. package/README.md +36 -36
  8. package/build/css-loaders.js +34 -34
  9. package/build/dev-client.js +8 -8
  10. package/build/dev-server.js +121 -121
  11. package/build/example-server.js +80 -80
  12. package/build/release.sh +28 -28
  13. package/build/utils.js +71 -71
  14. package/build/webpack.base.conf.js +78 -78
  15. package/build/webpack.dev.conf.js +31 -31
  16. package/build/webpack.example.conf.js +49 -49
  17. package/build/webpack.prod.conf.js +60 -60
  18. package/build/webpack.test.conf.js +31 -31
  19. package/build.gradle +27 -27
  20. package/config/dev.env.js +6 -6
  21. package/config/index.js +38 -38
  22. package/config/prod.env.js +3 -3
  23. package/config/test.env.js +6 -6
  24. package/index.html +773 -19
  25. package/nginx.conf +304 -304
  26. package/package.json +11 -4
  27. package/release.bat +5 -5
  28. package/src/assets/biaohao.png +0 -0
  29. package/src/assets/bieming.png +0 -0
  30. package/src/assets/caozuo.png +0 -0
  31. package/src/assets/guige.png +0 -0
  32. package/src/assets/leixing.png +0 -0
  33. package/src/assets/loging.gif +0 -0
  34. package/src/assets/mingwen.png +0 -0
  35. package/src/assets/miwen.png +0 -0
  36. package/src/assets/phone.png +0 -0
  37. package/src/assets/pinpai.png +0 -0
  38. package/src/assets/qiliang.png +0 -0
  39. package/src/assets/shuaxindaiban1.png +0 -0
  40. package/src/assets/xinghao.png +0 -0
  41. package/src/assets/yue.png +0 -0
  42. package/src/assets//345/267/245/344/275/234/351/200/232/347/237/245/347/253/226/345/261/2173.png +0 -0
  43. package/src/assets//345/267/245/345/225/206/345/256/211/346/243/200/347/253/226/345/261/2173.png +0 -0
  44. package/src/assets//345/271/263/346/235/277/347/255/276/345/210/260/347/253/226/345/261/2173.png +0 -0
  45. package/src/assets//345/271/263/346/235/277/347/255/276/351/200/200/347/253/226/345/261/2173.png +0 -0
  46. package/src/assets//346/215/242/350/241/250/347/256/241/347/220/206/347/253/226/345/261/2173.png +0 -0
  47. package/src/assets//347/224/250/346/210/267/347/274/226/345/217/267.png +0 -0
  48. package/src/assets//347/273/264/344/277/256/347/263/273/347/273/237/347/253/226/345/261/2173.png +0 -0
  49. package/src/assets//350/241/250/345/217/267.png +0 -0
  50. package/src/assets//350/260/203/345/216/213/347/256/261/347/256/241/347/220/206/347/253/226/345/261/2173.png +0 -0
  51. package/src/components/LoginApp.vue +64 -35
  52. package/src/components/NavBottomV.vue +23 -8
  53. package/src/components/ToolsPage.vue +15 -9
  54. package/src/components/iot/InstructMessage.vue +313 -0
  55. package/src/components/iot/IotBaseInfo.vue +97 -0
  56. package/src/components/iot/IotMeterInfo.vue +77 -0
  57. package/src/components/iot/iotMonitoringMain.vue +501 -0
  58. package/src/plugins/GetSaleParams.js +108 -0
  59. package/src/plugins/LoadSaleParams.js +59 -0
  60. package/src/systemphone.js +21 -2
  61. package/src/systemphonegrid.js +20 -0
  62. package/static/app.json +4 -4
  63. package/static/globals.txt +74 -74
  64. package/static/wasm_exec.js +465 -0
  65. package/test/unit/.eslintrc +5 -5
  66. package/test/unit/TestUtil.js +35 -35
  67. package/test/unit/context.html +20 -20
  68. package/test/unit/index.js +13 -13
  69. package/test/unit/init.js +13 -13
  70. package/test/unit/karma.conf.js +50 -50
  71. package/test/unit/specs/App.spec.js +17 -17
  72. package/test/unit/specs/Test.spec.js +28 -28
  73. package/test/unit/specs/components/LoginApp.spec.js +21 -21
  74. package/test/unit/specs/sevices/ConfigService.spec.js +23 -23
  75. package/test/unit/specs/sevices/GetDBTest.spec.js +28 -28
  76. package/yarn.lock +6399 -6399
package/.babelrc CHANGED
@@ -1,5 +1,5 @@
1
- {
2
- "presets": ["es2015", "stage-2"],
3
- "plugins": ["transform-runtime"],
4
- "comments": false
5
- }
1
+ {
2
+ "presets": ["es2015", "stage-2"],
3
+ "plugins": ["transform-runtime"],
4
+ "comments": false
5
+ }
package/.editorconfig CHANGED
@@ -1,9 +1,9 @@
1
- root = true
2
-
3
- [*]
4
- charset = utf-8
5
- indent_style = space
6
- indent_size = 2
7
- end_of_line = lf
8
- insert_final_newline = true
9
- trim_trailing_whitespace = true
1
+ root = true
2
+
3
+ [*]
4
+ charset = utf-8
5
+ indent_style = space
6
+ indent_size = 2
7
+ end_of_line = lf
8
+ insert_final_newline = true
9
+ trim_trailing_whitespace = true
package/.eslintrc.js CHANGED
@@ -1,16 +1,16 @@
1
- module.exports = {
2
- root: true,
3
- // https://github.com/feross/standard/blob/master/RULES.md#javascript-standard-style
4
- extends: 'standard',
5
- // required to lint *.vue files
6
- plugins: [
7
- 'eslint-plugin-html'
8
- ],
9
- // add your custom rules here
10
- 'rules': {
11
- // allow paren-less arrow functions
12
- 'arrow-parens': 0,
13
- // allow debugger during development
14
- 'no-debugger': process.env.NODE_ENV === 'production' ? 2 : 0
15
- }
16
- }
1
+ module.exports = {
2
+ root: true,
3
+ // https://github.com/feross/standard/blob/master/RULES.md#javascript-standard-style
4
+ extends: 'standard',
5
+ // required to lint *.vue files
6
+ plugins: [
7
+ 'eslint-plugin-html'
8
+ ],
9
+ // add your custom rules here
10
+ 'rules': {
11
+ // allow paren-less arrow functions
12
+ 'arrow-parens': 0,
13
+ // allow debugger during development
14
+ 'no-debugger': process.env.NODE_ENV === 'production' ? 2 : 0
15
+ }
16
+ }
package/.npmignore CHANGED
@@ -1,9 +1,9 @@
1
- .idea/
2
- .DS_Store
3
- node_modules/
4
- dist/static/*.map
5
- npm-debug.log
6
- selenium-debug.log
7
- test/unit/coverage
8
- test/e2e/reports
9
- dist/
1
+ .idea/
2
+ .DS_Store
3
+ node_modules/
4
+ dist/static/*.map
5
+ npm-debug.log
6
+ selenium-debug.log
7
+ test/unit/coverage
8
+ test/e2e/reports
9
+ dist/
package/CHANGELOG.md CHANGED
@@ -1,2 +1,2 @@
1
- # Change Log
1
+ # Change Log
2
2
  所有关于本产品的变化都在该文档里。
package/Dockerfile CHANGED
@@ -1,3 +1,3 @@
1
- FROM af/openresty
2
- COPY dist/ /usr/local/openresty/nginx/html
3
- COPY nginx.conf /usr/local/openresty/nginx/conf/nginx.conf
1
+ FROM af/openresty
2
+ COPY dist/ /usr/local/openresty/nginx/html
3
+ COPY nginx.conf /usr/local/openresty/nginx/conf/nginx.conf
package/README.md CHANGED
@@ -1,37 +1,37 @@
1
- # SystemPhone
2
-
3
- #### 项目介绍
4
- System手机前端模块
5
-
6
- #### 软件架构
7
- 软件架构说明
8
-
9
-
10
- #### 安装教程
11
-
12
- 1. xxxx
13
- 2. xxxx
14
- 3. xxxx
15
-
16
- #### 使用说明
17
-
18
- 1. xxxx
19
- 2. xxxx
20
- 3. xxxx
21
-
22
- #### 参与贡献
23
-
24
- 1. Fork 本项目
25
- 2. 新建 Feat_xxx 分支
26
- 3. 提交代码
27
- 4. 新建 Pull Request
28
-
29
-
30
- #### 码云特技
31
-
32
- 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md
33
- 2. 码云官方博客 [blog.gitee.com](https://blog.gitee.com)
34
- 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解码云上的优秀开源项目
35
- 4. [GVP](https://gitee.com/gvp) 全称是码云最有价值开源项目,是码云综合评定出的优秀开源项目
36
- 5. 码云官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help)
1
+ # SystemPhone
2
+
3
+ #### 项目介绍
4
+ System手机前端模块
5
+
6
+ #### 软件架构
7
+ 软件架构说明
8
+
9
+
10
+ #### 安装教程
11
+
12
+ 1. xxxx
13
+ 2. xxxx
14
+ 3. xxxx
15
+
16
+ #### 使用说明
17
+
18
+ 1. xxxx
19
+ 2. xxxx
20
+ 3. xxxx
21
+
22
+ #### 参与贡献
23
+
24
+ 1. Fork 本项目
25
+ 2. 新建 Feat_xxx 分支
26
+ 3. 提交代码
27
+ 4. 新建 Pull Request
28
+
29
+
30
+ #### 码云特技
31
+
32
+ 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md
33
+ 2. 码云官方博客 [blog.gitee.com](https://blog.gitee.com)
34
+ 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解码云上的优秀开源项目
35
+ 4. [GVP](https://gitee.com/gvp) 全称是码云最有价值开源项目,是码云综合评定出的优秀开源项目
36
+ 5. 码云官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help)
37
37
  6. 码云封面人物是一档用来展示码云会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)
@@ -1,34 +1,34 @@
1
- var ExtractTextPlugin = require('extract-text-webpack-plugin')
2
-
3
- module.exports = function (options) {
4
- // generate loader string to be used with extract text plugin
5
- function generateLoaders (loaders) {
6
- var sourceLoader = loaders.map(function (loader) {
7
- var extraParamChar
8
- if (/\?/.test(loader)) {
9
- loader = loader.replace(/\?/, '-loader?')
10
- extraParamChar = '&'
11
- } else {
12
- loader = loader + '-loader'
13
- extraParamChar = '?'
14
- }
15
- return loader + (options.sourceMap ? extraParamChar + 'sourceMap' : '')
16
- }).join('!')
17
-
18
- if (options.extract) {
19
- return ExtractTextPlugin.extract('vue-style-loader', sourceLoader)
20
- } else {
21
- return ['vue-style-loader', sourceLoader].join('!')
22
- }
23
- }
24
-
25
- // http://vuejs.github.io/vue-loader/configurations/extract-css.html
26
- return {
27
- css: generateLoaders(['css']),
28
- less: generateLoaders(['css', 'less']),
29
- sass: generateLoaders(['css', 'sass?indentedSyntax']),
30
- scss: generateLoaders(['css', 'sass']),
31
- stylus: generateLoaders(['css', 'stylus']),
32
- styl: generateLoaders(['css', 'stylus'])
33
- }
34
- }
1
+ var ExtractTextPlugin = require('extract-text-webpack-plugin')
2
+
3
+ module.exports = function (options) {
4
+ // generate loader string to be used with extract text plugin
5
+ function generateLoaders (loaders) {
6
+ var sourceLoader = loaders.map(function (loader) {
7
+ var extraParamChar
8
+ if (/\?/.test(loader)) {
9
+ loader = loader.replace(/\?/, '-loader?')
10
+ extraParamChar = '&'
11
+ } else {
12
+ loader = loader + '-loader'
13
+ extraParamChar = '?'
14
+ }
15
+ return loader + (options.sourceMap ? extraParamChar + 'sourceMap' : '')
16
+ }).join('!')
17
+
18
+ if (options.extract) {
19
+ return ExtractTextPlugin.extract('vue-style-loader', sourceLoader)
20
+ } else {
21
+ return ['vue-style-loader', sourceLoader].join('!')
22
+ }
23
+ }
24
+
25
+ // http://vuejs.github.io/vue-loader/configurations/extract-css.html
26
+ return {
27
+ css: generateLoaders(['css']),
28
+ less: generateLoaders(['css', 'less']),
29
+ sass: generateLoaders(['css', 'sass?indentedSyntax']),
30
+ scss: generateLoaders(['css', 'sass']),
31
+ stylus: generateLoaders(['css', 'stylus']),
32
+ styl: generateLoaders(['css', 'stylus'])
33
+ }
34
+ }
@@ -1,8 +1,8 @@
1
- require('eventsource-polyfill')
2
- var hotClient = require('webpack-hot-middleware/client?noInfo=true&reload=true')
3
-
4
- hotClient.subscribe(function (event) {
5
- if (event.action === 'reload') {
6
- window.location.reload()
7
- }
8
- })
1
+ require('eventsource-polyfill')
2
+ var hotClient = require('webpack-hot-middleware/client?noInfo=true&reload=true')
3
+
4
+ hotClient.subscribe(function (event) {
5
+ if (event.action === 'reload') {
6
+ window.location.reload()
7
+ }
8
+ })
@@ -1,121 +1,121 @@
1
- var express = require('express')
2
- var webpack = require('webpack')
3
- var config = require('./webpack.dev.conf')
4
- var proxyMiddleware = require('http-proxy-middleware')
5
- // var httpProxy = require('http-proxy')
6
-
7
- var app = express()
8
- var compiler = webpack(config)
9
- // var proxy = httpProxy.createProxyServer()
10
-
11
- // Define HTTP proxies to your custom API backend
12
- // https://github.com/chimurai/http-proxy-middleware
13
- var proxyTable = {
14
- '/rs/weixin': {
15
- target: 'http://192.168.2.77:8081'
16
- },
17
- '/phone/rs/vue': {
18
- target: 'http://192.168.50.220:8500'
19
- },
20
- '/materials': {
21
- target: 'http://192.168.50.202:8081'
22
- // target: 'http://192.168.2.77:8081'
23
- },
24
- '/umaterials': {
25
- // target: 'http://192.168.50.202:8081'
26
- target: 'http://192.168.2.77:8081'
27
- },
28
- // 取图片的地址
29
- '/images': {
30
- target: 'http://192.168.50.202:8081'
31
- // target: 'http://192.168.20.249:8081'
32
- },
33
- 'phone/rs/dir2': {
34
- target: 'http://192.168.50.220:8500'
35
- // target: 'http://192.168.20.249:8081'
36
- },
37
- '/excel': {
38
- // target: 'http://127.0.0.1:8082'
39
- target: 'http://127.0.0.1:8081'
40
- },
41
- '/SaleRest/rs': {
42
- // target: 'http://127.0.0.1:8081'
43
- target: 'http://192.168.2.77:8081/'
44
- },
45
- // 呼叫系统主数据服务
46
- '/rs': {
47
- // target: 'http://127.0.0.1:8082'
48
- target: 'http://192.168.50.222:8300'
49
- },
50
- // 文字客服
51
- '/Dual': {
52
- 'target': 'http://127.0.0.1:8081/RestWork/rs'
53
- },
54
- // 安卓测试转发地址
55
- '/AndroidRest/rs': {
56
- 'target': 'http://127.0.0.1:8081'
57
- }
58
- }
59
- var devMiddleware = require('webpack-dev-middleware')(compiler, {
60
- publicPath: config.output.publicPath,
61
- stats: {
62
- colors: true,
63
- chunks: false
64
- }
65
- })
66
-
67
- var hotMiddleware = require('webpack-hot-middleware')(compiler)
68
- // force page reload when html-webpack-plugin template changes
69
- compiler.plugin('compilation', function (compilation) {
70
- compilation.plugin('html-webpack-plugin-after-emit', function (data, cb) {
71
- hotMiddleware.publish({ action: 'reload' })
72
- cb()
73
- })
74
- })
75
-
76
- // proxy api requests
77
- Object.keys(proxyTable).forEach(function (context) {
78
- var options = proxyTable[context]
79
- if (typeof options === 'string') {
80
- options = { target: options }
81
- }
82
- // 改变源实现跨域
83
- // options.changeOrigin = true
84
- Object.assign(options, {
85
- onProxyRes (proxyRes, req, res) {
86
- // res.header('Access-Control-Allow-Origin', '*')
87
- // res.header('Access-Control-Allow-Methods', 'PUT, POST, GET,DELETE, OPTIONS')
88
- }
89
- })
90
- app.use(proxyMiddleware(context, options))
91
- })
92
-
93
- // handle fallback for HTML5 history API
94
- app.use(require('connect-history-api-fallback')())
95
- // app.use(function (req, res, next) {
96
- // res.header('Access-Control-Allow-Origin', '*')
97
- // res.header('Access-Control-Allow-Headers', 'X-Requested-With')
98
- // res.header('Access-Control-Allow-Methods', 'PUT, POST, GET,DELETE, OPTIONS')
99
- // res.header('X-Powered-By', '3,2,1')
100
- // res.header('Access-Control-Allow-Credentials', 'true')
101
- // res.header('Content-Type', 'application/json;charset=utf-8')
102
- // next()
103
- // })
104
-
105
- // serve webpack bundle output
106
- app.use(devMiddleware)
107
-
108
- // enable hot-reload and state-preserving
109
- // compilation error display
110
- app.use(hotMiddleware)
111
-
112
- // serve pure static assets
113
- app.use('/static', express.static('./static'))
114
-
115
- module.exports = app.listen(8083, function (err) {
116
- if (err) {
117
- console.log(err)
118
- return
119
- }
120
- console.log('Listening at http://localhost:8083')
121
- })
1
+ var express = require('express')
2
+ var webpack = require('webpack')
3
+ var config = require('./webpack.dev.conf')
4
+ var proxyMiddleware = require('http-proxy-middleware')
5
+ // var httpProxy = require('http-proxy')
6
+
7
+ var app = express()
8
+ var compiler = webpack(config)
9
+ // var proxy = httpProxy.createProxyServer()
10
+
11
+ // Define HTTP proxies to your custom API backend
12
+ // https://github.com/chimurai/http-proxy-middleware
13
+ var proxyTable = {
14
+ '/rs/weixin': {
15
+ target: 'http://192.168.2.77:8081'
16
+ },
17
+ '/phone/rs/vue': {
18
+ target: 'http://192.168.50.220:8500'
19
+ },
20
+ '/materials': {
21
+ target: 'http://192.168.50.202:8081'
22
+ // target: 'http://192.168.2.77:8081'
23
+ },
24
+ '/umaterials': {
25
+ // target: 'http://192.168.50.202:8081'
26
+ target: 'http://192.168.2.77:8081'
27
+ },
28
+ // 取图片的地址
29
+ '/images': {
30
+ target: 'http://192.168.50.202:8081'
31
+ // target: 'http://192.168.20.249:8081'
32
+ },
33
+ 'phone/rs/dir2': {
34
+ target: 'http://192.168.50.220:8500'
35
+ // target: 'http://192.168.20.249:8081'
36
+ },
37
+ '/excel': {
38
+ // target: 'http://127.0.0.1:8082'
39
+ target: 'http://127.0.0.1:8081'
40
+ },
41
+ '/SaleRest/rs': {
42
+ // target: 'http://127.0.0.1:8081'
43
+ target: 'http://192.168.2.77:8081/'
44
+ },
45
+ // 呼叫系统主数据服务
46
+ '/rs': {
47
+ // target: 'http://127.0.0.1:8082'
48
+ target: 'http://192.168.50.222:8300'
49
+ },
50
+ // 文字客服
51
+ '/Dual': {
52
+ 'target': 'http://127.0.0.1:8081/RestWork/rs'
53
+ },
54
+ // 安卓测试转发地址
55
+ '/AndroidRest/rs': {
56
+ 'target': 'http://127.0.0.1:8081'
57
+ }
58
+ }
59
+ var devMiddleware = require('webpack-dev-middleware')(compiler, {
60
+ publicPath: config.output.publicPath,
61
+ stats: {
62
+ colors: true,
63
+ chunks: false
64
+ }
65
+ })
66
+
67
+ var hotMiddleware = require('webpack-hot-middleware')(compiler)
68
+ // force page reload when html-webpack-plugin template changes
69
+ compiler.plugin('compilation', function (compilation) {
70
+ compilation.plugin('html-webpack-plugin-after-emit', function (data, cb) {
71
+ hotMiddleware.publish({ action: 'reload' })
72
+ cb()
73
+ })
74
+ })
75
+
76
+ // proxy api requests
77
+ Object.keys(proxyTable).forEach(function (context) {
78
+ var options = proxyTable[context]
79
+ if (typeof options === 'string') {
80
+ options = { target: options }
81
+ }
82
+ // 改变源实现跨域
83
+ // options.changeOrigin = true
84
+ Object.assign(options, {
85
+ onProxyRes (proxyRes, req, res) {
86
+ // res.header('Access-Control-Allow-Origin', '*')
87
+ // res.header('Access-Control-Allow-Methods', 'PUT, POST, GET,DELETE, OPTIONS')
88
+ }
89
+ })
90
+ app.use(proxyMiddleware(context, options))
91
+ })
92
+
93
+ // handle fallback for HTML5 history API
94
+ app.use(require('connect-history-api-fallback')())
95
+ // app.use(function (req, res, next) {
96
+ // res.header('Access-Control-Allow-Origin', '*')
97
+ // res.header('Access-Control-Allow-Headers', 'X-Requested-With')
98
+ // res.header('Access-Control-Allow-Methods', 'PUT, POST, GET,DELETE, OPTIONS')
99
+ // res.header('X-Powered-By', '3,2,1')
100
+ // res.header('Access-Control-Allow-Credentials', 'true')
101
+ // res.header('Content-Type', 'application/json;charset=utf-8')
102
+ // next()
103
+ // })
104
+
105
+ // serve webpack bundle output
106
+ app.use(devMiddleware)
107
+
108
+ // enable hot-reload and state-preserving
109
+ // compilation error display
110
+ app.use(hotMiddleware)
111
+
112
+ // serve pure static assets
113
+ app.use('/static', express.static('./static'))
114
+
115
+ module.exports = app.listen(8083, function (err) {
116
+ if (err) {
117
+ console.log(err)
118
+ return
119
+ }
120
+ console.log('Listening at http://localhost:8083')
121
+ })
@@ -1,80 +1,80 @@
1
- var express = require('express')
2
- var webpack = require('webpack')
3
- var config = require('./webpack.example.conf')
4
- var proxyMiddleware = require('http-proxy-middleware')
5
- var httpProxy = require('http-proxy')
6
-
7
- var app = express()
8
- var compiler = webpack(config)
9
- var proxy = httpProxy.createProxyServer()
10
-
11
- // Define HTTP proxies to your custom API backend
12
- // https://github.com/chimurai/http-proxy-middleware
13
- var proxyTable = {
14
- // '/api': {
15
- // target: 'http://jsonplaceholder.typicode.com',
16
- // changeOrigin: true,
17
- // pathRewrite: {
18
- // '^/api': ''
19
- // }
20
- // }
21
- }
22
-
23
- var devMiddleware = require('webpack-dev-middleware')(compiler, {
24
- publicPath: config.output.publicPath,
25
- stats: {
26
- colors: true,
27
- chunks: false
28
- }
29
- })
30
-
31
- var hotMiddleware = require('webpack-hot-middleware')(compiler)
32
- // force page reload when html-webpack-plugin template changes
33
- compiler.plugin('compilation', function (compilation) {
34
- compilation.plugin('html-webpack-plugin-after-emit', function (data, cb) {
35
- hotMiddleware.publish({ action: 'reload' })
36
- cb()
37
- })
38
- })
39
-
40
- // proxy api requests
41
- Object.keys(proxyTable).forEach(function (context) {
42
- var options = proxyTable[context]
43
- if (typeof options === 'string') {
44
- options = { target: options }
45
- }
46
- app.use(proxyMiddleware(context, options))
47
- })
48
-
49
- // handle fallback for HTML5 history API
50
- app.use(require('connect-history-api-fallback')())
51
-
52
- // serve webpack bundle output
53
- app.use(devMiddleware)
54
-
55
- // enable hot-reload and state-preserving
56
- // compilation error display
57
- app.use(hotMiddleware)
58
-
59
- // serve pure static assets
60
- app.use('/static', express.static('./static'))
61
-
62
- // app.all('/images/*', function (req, res) {
63
- // proxy.web(req, res, {
64
- // target: 'http://127.0.0.1:82'
65
- // })
66
- // })
67
- //
68
- // app.all('/*', function (req, res) {
69
- // proxy.web(req, res, {
70
- // target: 'http://127.0.0.1:8082'
71
- // })
72
- // })
73
-
74
- module.exports = app.listen(8081, function (err) {
75
- if (err) {
76
- console.log(err)
77
- return
78
- }
79
- console.log('Listening at http://localhost:8081')
80
- })
1
+ var express = require('express')
2
+ var webpack = require('webpack')
3
+ var config = require('./webpack.example.conf')
4
+ var proxyMiddleware = require('http-proxy-middleware')
5
+ var httpProxy = require('http-proxy')
6
+
7
+ var app = express()
8
+ var compiler = webpack(config)
9
+ var proxy = httpProxy.createProxyServer()
10
+
11
+ // Define HTTP proxies to your custom API backend
12
+ // https://github.com/chimurai/http-proxy-middleware
13
+ var proxyTable = {
14
+ // '/api': {
15
+ // target: 'http://jsonplaceholder.typicode.com',
16
+ // changeOrigin: true,
17
+ // pathRewrite: {
18
+ // '^/api': ''
19
+ // }
20
+ // }
21
+ }
22
+
23
+ var devMiddleware = require('webpack-dev-middleware')(compiler, {
24
+ publicPath: config.output.publicPath,
25
+ stats: {
26
+ colors: true,
27
+ chunks: false
28
+ }
29
+ })
30
+
31
+ var hotMiddleware = require('webpack-hot-middleware')(compiler)
32
+ // force page reload when html-webpack-plugin template changes
33
+ compiler.plugin('compilation', function (compilation) {
34
+ compilation.plugin('html-webpack-plugin-after-emit', function (data, cb) {
35
+ hotMiddleware.publish({ action: 'reload' })
36
+ cb()
37
+ })
38
+ })
39
+
40
+ // proxy api requests
41
+ Object.keys(proxyTable).forEach(function (context) {
42
+ var options = proxyTable[context]
43
+ if (typeof options === 'string') {
44
+ options = { target: options }
45
+ }
46
+ app.use(proxyMiddleware(context, options))
47
+ })
48
+
49
+ // handle fallback for HTML5 history API
50
+ app.use(require('connect-history-api-fallback')())
51
+
52
+ // serve webpack bundle output
53
+ app.use(devMiddleware)
54
+
55
+ // enable hot-reload and state-preserving
56
+ // compilation error display
57
+ app.use(hotMiddleware)
58
+
59
+ // serve pure static assets
60
+ app.use('/static', express.static('./static'))
61
+
62
+ // app.all('/images/*', function (req, res) {
63
+ // proxy.web(req, res, {
64
+ // target: 'http://127.0.0.1:82'
65
+ // })
66
+ // })
67
+ //
68
+ // app.all('/*', function (req, res) {
69
+ // proxy.web(req, res, {
70
+ // target: 'http://127.0.0.1:8082'
71
+ // })
72
+ // })
73
+
74
+ module.exports = app.listen(8081, function (err) {
75
+ if (err) {
76
+ console.log(err)
77
+ return
78
+ }
79
+ console.log('Listening at http://localhost:8081')
80
+ })