Browse Source

historyApiFallback

RaoMeng 5 years ago
parent
commit
6c0781668b

+ 39 - 24
uas-office-web/wxuasapproval/config-overrides.js

@@ -3,6 +3,7 @@ const {
   fixBabelImports,
   addLessLoader,
   addWebpackAlias,
+  overrideDevServer,
 } = require(
   'customize-cra')
 const CompressionWebpackPlugin = require('compression-webpack-plugin')
@@ -30,28 +31,42 @@ const addCompression = () => config => {
   return config
 }
 
-module.exports = override(
-  fixBabelImports('import-antd', {
-    libraryName: 'antd',
-    libraryDirectory: 'es',
-    style: true,
-  }),
-
-  fixBabelImports('import-ant-mobile', {
-    libraryName: 'antd-mobile',
-    libraryDirectory: 'lib',
-    style: true,
-  }),
-
-  addLessLoader({
-    javascriptEnabled: true,
-    modifyVars: { '@primary-color': '#1DA57A' },
-  }),
-
-  addCompression(),
-
-  addWebpackAlias({
-    '@': path.join(__dirname, 'src'),
-  }),
-)
+/**
+ * 解决react router 路由刷新404问题
+ * @returns {function(*): {historyApiFallback: boolean}}
+ */
+const devServerConfig = () => config => {
+  return {
+    ...config,
+    historyApiFallback: true,
+  }
+}
+
+module.exports = {
+  webpack: override(
+    fixBabelImports('import-antd', {
+      libraryName: 'antd',
+      libraryDirectory: 'es',
+      style: true,
+    }),
+
+    fixBabelImports('import-ant-mobile', {
+      libraryName: 'antd-mobile',
+      libraryDirectory: 'lib',
+      style: true,
+    }),
+
+    addLessLoader({
+      javascriptEnabled: true,
+      modifyVars: { '@primary-color': '#1DA57A' },
+    }),
+
+    addCompression(),
+
+    addWebpackAlias({
+      '@': path.join(__dirname, 'src'),
+    }),
+  ),
+  devServer: overrideDevServer(devServerConfig()),
+}
 

+ 1 - 0
uas-office-web/wxuasapproval/package.json

@@ -8,6 +8,7 @@
     "antd-mobile": "^2.3.1",
     "bizcharts": "^3.5.7",
     "compression-webpack-plugin": "^6.0.3",
+    "connect-history-api-fallback": "^1.6.0",
     "js-cookie": "^2.2.1",
     "moment": "^2.22.2",
     "react": "^16.12.0",

+ 2 - 34
uas-office-web/wxuasapproval/yarn.lock

@@ -4482,7 +4482,7 @@ debug@^4.0.1, debug@^4.1.0, debug@^4.1.1:
   dependencies:
     ms "2.1.2"
 
-debuglog@*, debuglog@^1.0.1:
+debuglog@^1.0.1:
   version "1.0.1"
   resolved "https://registry.npm.taobao.org/debuglog/download/debuglog-1.0.1.tgz#aa24ffb9ac3df9a2351837cfb2d279360cd78492"
   integrity sha1-qiT/uaw9+aI1GDfPstJ5NgzXhJI=
@@ -6661,7 +6661,7 @@ import-local@^2.0.0:
     pkg-dir "^3.0.0"
     resolve-cwd "^2.0.0"
 
-imurmurhash@*, imurmurhash@^0.1.4:
+imurmurhash@^0.1.4:
   version "0.1.4"
   resolved "https://registry.npm.taobao.org/imurmurhash/download/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
   integrity sha1-khi5srkoojixPcT7a21XbyMUU+o=
@@ -8236,11 +8236,6 @@ lockfile@^1.0.4:
   dependencies:
     signal-exit "^3.0.2"
 
-lodash._baseindexof@*:
-  version "3.1.0"
-  resolved "https://registry.npm.taobao.org/lodash._baseindexof/download/lodash._baseindexof-3.1.0.tgz#fe52b53a1c6761e42618d654e4a25789ed61822c"
-  integrity sha1-/lK1OhxnYeQmGNZU5KJXie1hgiw=
-
 lodash._baseuniq@~4.6.0:
   version "4.6.0"
   resolved "https://registry.npm.taobao.org/lodash._baseuniq/download/lodash._baseuniq-4.6.0.tgz#0ebb44e456814af7905c6212fa2c9b2d51b841e8"
@@ -8249,33 +8244,11 @@ lodash._baseuniq@~4.6.0:
     lodash._createset "~4.0.0"
     lodash._root "~3.0.0"
 
-lodash._bindcallback@*:
-  version "3.0.1"
-  resolved "https://registry.npm.taobao.org/lodash._bindcallback/download/lodash._bindcallback-3.0.1.tgz#e531c27644cf8b57a99e17ed95b35c748789392e"
-  integrity sha1-5THCdkTPi1epnhftlbNcdIeJOS4=
-
-lodash._cacheindexof@*:
-  version "3.0.2"
-  resolved "https://registry.npm.taobao.org/lodash._cacheindexof/download/lodash._cacheindexof-3.0.2.tgz#3dc69ac82498d2ee5e3ce56091bafd2adc7bde92"
-  integrity sha1-PcaayCSY0u5ePOVgkbr9Ktx73pI=
-
-lodash._createcache@*:
-  version "3.1.2"
-  resolved "https://registry.npm.taobao.org/lodash._createcache/download/lodash._createcache-3.1.2.tgz#56d6a064017625e79ebca6b8018e17440bdcf093"
-  integrity sha1-VtagZAF2JeeevKa4AY4XRAvc8JM=
-  dependencies:
-    lodash._getnative "^3.0.0"
-
 lodash._createset@~4.0.0:
   version "4.0.3"
   resolved "https://registry.npm.taobao.org/lodash._createset/download/lodash._createset-4.0.3.tgz#0f4659fbb09d75194fa9e2b88a6644d363c9fe26"
   integrity sha1-D0ZZ+7CddRlPqeK4imZE02PJ/iY=
 
-lodash._getnative@*, lodash._getnative@^3.0.0:
-  version "3.9.1"
-  resolved "https://registry.npm.taobao.org/lodash._getnative/download/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5"
-  integrity sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=
-
 lodash._reinterpolate@^3.0.0:
   version "3.0.0"
   resolved "https://registry.npm.taobao.org/lodash._reinterpolate/download/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d"
@@ -8306,11 +8279,6 @@ lodash.memoize@^4.1.2:
   resolved "https://registry.npm.taobao.org/lodash.memoize/download/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe"
   integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=
 
-lodash.restparam@*:
-  version "3.6.1"
-  resolved "https://registry.npm.taobao.org/lodash.restparam/download/lodash.restparam-3.6.1.tgz#936a4e309ef330a7645ed4145986c85ae5b20805"
-  integrity sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=
-
 lodash.sortby@^4.7.0:
   version "4.7.0"
   resolved "https://registry.npm.taobao.org/lodash.sortby/download/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438"