@alicloud/alfa-react 1.4.33 → 1.4.35
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.
- package/dist/index.js +6 -6
- package/es/createAlfaApp.js +12 -0
- package/es/createAlfaWidget.js +13 -1
- package/es/createApplication.js +31 -16
- package/es/index.js +2 -2
- package/es/utils/counter.js +18 -0
- package/es/version.js +1 -1
- package/lib/createAlfaApp.js +14 -0
- package/lib/createAlfaWidget.js +21 -1
- package/lib/createApplication.js +32 -16
- package/lib/index.js +21 -3
- package/lib/utils/counter.js +26 -0
- package/lib/version.js +1 -1
- package/package.json +1 -1
- package/types/createAlfaApp.d.ts +6 -0
- package/types/createAlfaWidget.d.ts +6 -0
- package/types/index.d.ts +2 -2
- package/types/utils/counter.d.ts +5 -0
- package/types/version.d.ts +1 -1
package/es/createAlfaApp.js
CHANGED
|
@@ -42,5 +42,17 @@ function createAlfaApp(option) {
|
|
|
42
42
|
})));
|
|
43
43
|
};
|
|
44
44
|
}
|
|
45
|
+
/**
|
|
46
|
+
* create memorized app in react function component, just create App after first mounted
|
|
47
|
+
* @param option
|
|
48
|
+
* @returns
|
|
49
|
+
*/
|
|
45
50
|
|
|
51
|
+
|
|
52
|
+
export function useAlfaApp(option) {
|
|
53
|
+
var App = useMemo(function () {
|
|
54
|
+
return createAlfaApp(option);
|
|
55
|
+
}, []);
|
|
56
|
+
return App;
|
|
57
|
+
}
|
|
46
58
|
export default createAlfaApp;
|
package/es/createAlfaWidget.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
|
|
3
3
|
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
4
|
-
import React from 'react';
|
|
4
|
+
import React, { useMemo } from 'react';
|
|
5
5
|
import { BaseLoader } from '@alicloud/alfa-core';
|
|
6
6
|
import ErrorBoundary from './components/ErrorBoundary';
|
|
7
7
|
import { createCWSWidget } from './widget';
|
|
@@ -69,5 +69,17 @@ function createAlfaWidget(option) {
|
|
|
69
69
|
);
|
|
70
70
|
};
|
|
71
71
|
}
|
|
72
|
+
/**
|
|
73
|
+
* create memorized app in react function component, just create App after first mounted
|
|
74
|
+
* @param option
|
|
75
|
+
* @returns
|
|
76
|
+
*/
|
|
72
77
|
|
|
78
|
+
|
|
79
|
+
export function useAlfaWidget(option) {
|
|
80
|
+
var App = useMemo(function () {
|
|
81
|
+
return createAlfaWidget(option);
|
|
82
|
+
}, []);
|
|
83
|
+
return App;
|
|
84
|
+
}
|
|
73
85
|
export default createAlfaWidget;
|
package/es/createApplication.js
CHANGED
|
@@ -11,6 +11,7 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|
|
11
11
|
import React, { useRef, useEffect, useState, useMemo } from 'react';
|
|
12
12
|
import Loading from './components/Loading';
|
|
13
13
|
import { normalizeName } from './utils';
|
|
14
|
+
import { countRegister } from './utils/counter';
|
|
14
15
|
import { version as loaderVersion } from './version';
|
|
15
16
|
|
|
16
17
|
var resolvePath = function resolvePath() {
|
|
@@ -52,8 +53,9 @@ var stripBasename = function stripBasename(path, basename) {
|
|
|
52
53
|
|
|
53
54
|
var _basename = resolvePath(basename);
|
|
54
55
|
|
|
55
|
-
if (_path === _basename) return '/';
|
|
56
|
-
|
|
56
|
+
if (_path === _basename) return '/'; // escape all possible regex special characters
|
|
57
|
+
|
|
58
|
+
return _path.replace(new RegExp("^".concat(_basename.replace(/([.?*+^$[\]\\(){}|-])/g, '\\$1')), 'ig'), '');
|
|
57
59
|
};
|
|
58
60
|
/**
|
|
59
61
|
* container for microApp mount
|
|
@@ -102,6 +104,12 @@ export default function createApplication(loader) {
|
|
|
102
104
|
var $syncHistory = useRef(syncHistory);
|
|
103
105
|
var $basename = useRef(basename);
|
|
104
106
|
var tagName = normalizeName(props.name);
|
|
107
|
+
|
|
108
|
+
var _useState5 = useState(''),
|
|
109
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
110
|
+
releaseVersion = _useState6[0],
|
|
111
|
+
setReleaseVersion = _useState6[1];
|
|
112
|
+
|
|
105
113
|
$syncHistory.current = syncHistory;
|
|
106
114
|
$basename.current = basename;
|
|
107
115
|
if (customProps.path) customProps.path = addLeftSlash(customProps.path); // 受控模式锁定一些参数
|
|
@@ -201,33 +209,36 @@ export default function createApplication(loader) {
|
|
|
201
209
|
_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
202
210
|
var _app$context$updateBo, _app$context, _app$context$baseFram;
|
|
203
211
|
|
|
204
|
-
var _yield$loader$registe, app, logger, _ref2, path, frameWindow;
|
|
212
|
+
var _yield$loader$registe, app, logger, realVersion, _ref2, path, frameWindow;
|
|
205
213
|
|
|
206
214
|
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
207
215
|
while (1) {
|
|
208
216
|
switch (_context.prev = _context.next) {
|
|
209
217
|
case 0:
|
|
210
|
-
|
|
218
|
+
countRegister(memoOptions.name);
|
|
219
|
+
_context.next = 3;
|
|
211
220
|
return loader.register(_objectSpread(_objectSpread({}, memoOptions), {}, {
|
|
212
221
|
container: memoOptions.container || appRef.current
|
|
213
222
|
}));
|
|
214
223
|
|
|
215
|
-
case
|
|
224
|
+
case 3:
|
|
216
225
|
_yield$loader$registe = _context.sent;
|
|
217
226
|
app = _yield$loader$registe.app;
|
|
218
227
|
logger = _yield$loader$registe.logger;
|
|
228
|
+
realVersion = _yield$loader$registe.version;
|
|
229
|
+
setReleaseVersion(realVersion || 'unknown');
|
|
219
230
|
App = app; // container has been unmounted
|
|
220
231
|
|
|
221
232
|
if (!isUnmounted) {
|
|
222
|
-
_context.next =
|
|
233
|
+
_context.next = 11;
|
|
223
234
|
break;
|
|
224
235
|
}
|
|
225
236
|
|
|
226
237
|
return _context.abrupt("return");
|
|
227
238
|
|
|
228
|
-
case
|
|
239
|
+
case 11:
|
|
229
240
|
if (app) {
|
|
230
|
-
_context.next =
|
|
241
|
+
_context.next = 13;
|
|
231
242
|
break;
|
|
232
243
|
}
|
|
233
244
|
|
|
@@ -236,9 +247,9 @@ export default function createApplication(loader) {
|
|
|
236
247
|
E_MSG: 'load app failed.'
|
|
237
248
|
}));
|
|
238
249
|
|
|
239
|
-
case
|
|
250
|
+
case 13:
|
|
240
251
|
if (appRef.current) {
|
|
241
|
-
_context.next =
|
|
252
|
+
_context.next = 15;
|
|
242
253
|
break;
|
|
243
254
|
}
|
|
244
255
|
|
|
@@ -247,7 +258,7 @@ export default function createApplication(loader) {
|
|
|
247
258
|
E_MSG: 'cannot find container.'
|
|
248
259
|
}));
|
|
249
260
|
|
|
250
|
-
case
|
|
261
|
+
case 15:
|
|
251
262
|
// update body in sandbox context
|
|
252
263
|
(_app$context$updateBo = (_app$context = app.context).updateBody) === null || _app$context$updateBo === void 0 ? void 0 : _app$context$updateBo.call(_app$context, memoOptions.sandbox.disableFakeBody ? document.body : appRef.current);
|
|
253
264
|
_ref2 = memoOptions.props, path = _ref2.path;
|
|
@@ -292,12 +303,12 @@ export default function createApplication(loader) {
|
|
|
292
303
|
}
|
|
293
304
|
}
|
|
294
305
|
|
|
295
|
-
_context.next =
|
|
306
|
+
_context.next = 21;
|
|
296
307
|
return app.mount(appRef.current, {
|
|
297
308
|
customProps: customProps
|
|
298
309
|
});
|
|
299
310
|
|
|
300
|
-
case
|
|
311
|
+
case 21:
|
|
301
312
|
if (frameWindow) {
|
|
302
313
|
// 每次挂载后主动触发子应用内的 popstate 事件,借此触发 react-router history 的检查逻辑
|
|
303
314
|
dispatchFramePopstate();
|
|
@@ -306,7 +317,7 @@ export default function createApplication(loader) {
|
|
|
306
317
|
|
|
307
318
|
setAppInstance(app);
|
|
308
319
|
|
|
309
|
-
case
|
|
320
|
+
case 23:
|
|
310
321
|
case "end":
|
|
311
322
|
return _context.stop();
|
|
312
323
|
}
|
|
@@ -343,8 +354,12 @@ export default function createApplication(loader) {
|
|
|
343
354
|
|
|
344
355
|
var dataAttrs = {
|
|
345
356
|
'data-id': name,
|
|
346
|
-
|
|
347
|
-
'data-loader': loaderVersion
|
|
357
|
+
// 加载器版本
|
|
358
|
+
'data-loader': loaderVersion,
|
|
359
|
+
// 请求版本
|
|
360
|
+
'data-request-version': version || 'latest',
|
|
361
|
+
// 实际线上版本
|
|
362
|
+
'data-release-version': releaseVersion
|
|
348
363
|
};
|
|
349
364
|
return /*#__PURE__*/React.createElement(React.Fragment, null, !appInstance ? /*#__PURE__*/React.createElement(Loading, {
|
|
350
365
|
loading: loading
|
package/es/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { default as createAlfaApp } from './createAlfaApp';
|
|
2
|
-
export { default as createAlfaWidget } from './createAlfaWidget';
|
|
1
|
+
export { default as createAlfaApp, useAlfaApp } from './createAlfaApp';
|
|
2
|
+
export { default as createAlfaWidget, useAlfaWidget } from './createAlfaWidget';
|
|
3
3
|
export { eventEmitter as widgetEventEmitter } from './widget/index';
|
|
4
4
|
export { default as addGlobalRequestInterceptor } from './addGlobalRequestInterceptor'; // todo
|
|
5
5
|
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
var lastApp;
|
|
2
|
+
var lastTime = 0;
|
|
3
|
+
var min = 1000;
|
|
4
|
+
/**
|
|
5
|
+
* 计算初始化次数,并提示重复加载的应用
|
|
6
|
+
* @param appId string
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
export var countRegister = function countRegister(appId) {
|
|
10
|
+
var nowTime = Date.now();
|
|
11
|
+
|
|
12
|
+
if (lastApp === appId && lastTime && nowTime - lastTime < min) {
|
|
13
|
+
console.warn("[@alicloud/alfa-react] ".concat(appId, " \u91CD\u590D\u52A0\u8F7D\uFF0C\u8BF7\u68C0\u67E5\u4F60\u7684\u4EE3\u7801\u3002\u8BF7\u5728\u51FD\u6570\u7EC4\u4EF6\u4E2D\u4F7F\u7528 useAlfaApp \u6216 useAlfaWidget \u65B9\u6CD5\u3002"));
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
lastApp = appId;
|
|
17
|
+
lastTime = nowTime;
|
|
18
|
+
};
|
package/es/version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export var version = '1.4.
|
|
1
|
+
export var version = '1.4.35';
|
package/lib/createAlfaApp.js
CHANGED
|
@@ -8,6 +8,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
8
8
|
value: true
|
|
9
9
|
});
|
|
10
10
|
exports.default = void 0;
|
|
11
|
+
exports.useAlfaApp = useAlfaApp;
|
|
11
12
|
|
|
12
13
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
13
14
|
|
|
@@ -65,6 +66,19 @@ function createAlfaApp(option) {
|
|
|
65
66
|
})));
|
|
66
67
|
};
|
|
67
68
|
}
|
|
69
|
+
/**
|
|
70
|
+
* create memorized app in react function component, just create App after first mounted
|
|
71
|
+
* @param option
|
|
72
|
+
* @returns
|
|
73
|
+
*/
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
function useAlfaApp(option) {
|
|
77
|
+
var App = (0, _react.useMemo)(function () {
|
|
78
|
+
return createAlfaApp(option);
|
|
79
|
+
}, []);
|
|
80
|
+
return App;
|
|
81
|
+
}
|
|
68
82
|
|
|
69
83
|
var _default = createAlfaApp;
|
|
70
84
|
exports.default = _default;
|
package/lib/createAlfaWidget.js
CHANGED
|
@@ -2,10 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
4
|
|
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
5
7
|
Object.defineProperty(exports, "__esModule", {
|
|
6
8
|
value: true
|
|
7
9
|
});
|
|
8
10
|
exports.default = void 0;
|
|
11
|
+
exports.useAlfaWidget = useAlfaWidget;
|
|
9
12
|
|
|
10
13
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
14
|
|
|
@@ -13,7 +16,7 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
|
|
|
13
16
|
|
|
14
17
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
15
18
|
|
|
16
|
-
var _react =
|
|
19
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
17
20
|
|
|
18
21
|
var _alfaCore = require("@alicloud/alfa-core");
|
|
19
22
|
|
|
@@ -27,6 +30,10 @@ var _beforeResolveHook = _interopRequireDefault(require("./hooks/beforeResolveHo
|
|
|
27
30
|
|
|
28
31
|
var _beforeLoadHook = _interopRequireDefault(require("./hooks/beforeLoadHook"));
|
|
29
32
|
|
|
33
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
34
|
+
|
|
35
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
36
|
+
|
|
30
37
|
var loader = _alfaCore.BaseLoader.create();
|
|
31
38
|
|
|
32
39
|
loader.beforeResolve.use(_beforeResolveHook.default);
|
|
@@ -89,6 +96,19 @@ function createAlfaWidget(option) {
|
|
|
89
96
|
);
|
|
90
97
|
};
|
|
91
98
|
}
|
|
99
|
+
/**
|
|
100
|
+
* create memorized app in react function component, just create App after first mounted
|
|
101
|
+
* @param option
|
|
102
|
+
* @returns
|
|
103
|
+
*/
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
function useAlfaWidget(option) {
|
|
107
|
+
var App = (0, _react.useMemo)(function () {
|
|
108
|
+
return createAlfaWidget(option);
|
|
109
|
+
}, []);
|
|
110
|
+
return App;
|
|
111
|
+
}
|
|
92
112
|
|
|
93
113
|
var _default = createAlfaWidget;
|
|
94
114
|
exports.default = _default;
|
package/lib/createApplication.js
CHANGED
|
@@ -25,6 +25,8 @@ var _Loading = _interopRequireDefault(require("./components/Loading"));
|
|
|
25
25
|
|
|
26
26
|
var _utils = require("./utils");
|
|
27
27
|
|
|
28
|
+
var _counter = require("./utils/counter");
|
|
29
|
+
|
|
28
30
|
var _version = require("./version");
|
|
29
31
|
|
|
30
32
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
@@ -74,8 +76,9 @@ var stripBasename = function stripBasename(path, basename) {
|
|
|
74
76
|
|
|
75
77
|
var _basename = resolvePath(basename);
|
|
76
78
|
|
|
77
|
-
if (_path === _basename) return '/';
|
|
78
|
-
|
|
79
|
+
if (_path === _basename) return '/'; // escape all possible regex special characters
|
|
80
|
+
|
|
81
|
+
return _path.replace(new RegExp("^".concat(_basename.replace(/([.?*+^$[\]\\(){}|-])/g, '\\$1')), 'ig'), '');
|
|
79
82
|
};
|
|
80
83
|
/**
|
|
81
84
|
* container for microApp mount
|
|
@@ -124,6 +127,12 @@ function createApplication(loader) {
|
|
|
124
127
|
var $syncHistory = (0, _react.useRef)(syncHistory);
|
|
125
128
|
var $basename = (0, _react.useRef)(basename);
|
|
126
129
|
var tagName = (0, _utils.normalizeName)(props.name);
|
|
130
|
+
|
|
131
|
+
var _useState5 = (0, _react.useState)(''),
|
|
132
|
+
_useState6 = (0, _slicedToArray2.default)(_useState5, 2),
|
|
133
|
+
releaseVersion = _useState6[0],
|
|
134
|
+
setReleaseVersion = _useState6[1];
|
|
135
|
+
|
|
127
136
|
$syncHistory.current = syncHistory;
|
|
128
137
|
$basename.current = basename;
|
|
129
138
|
if (customProps.path) customProps.path = addLeftSlash(customProps.path); // 受控模式锁定一些参数
|
|
@@ -222,33 +231,36 @@ function createApplication(loader) {
|
|
|
222
231
|
(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
|
|
223
232
|
var _app$context$updateBo, _app$context, _app$context$baseFram;
|
|
224
233
|
|
|
225
|
-
var _yield$loader$registe, app, logger, _ref2, path, frameWindow;
|
|
234
|
+
var _yield$loader$registe, app, logger, realVersion, _ref2, path, frameWindow;
|
|
226
235
|
|
|
227
236
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
228
237
|
while (1) {
|
|
229
238
|
switch (_context.prev = _context.next) {
|
|
230
239
|
case 0:
|
|
231
|
-
|
|
240
|
+
(0, _counter.countRegister)(memoOptions.name);
|
|
241
|
+
_context.next = 3;
|
|
232
242
|
return loader.register(_objectSpread(_objectSpread({}, memoOptions), {}, {
|
|
233
243
|
container: memoOptions.container || appRef.current
|
|
234
244
|
}));
|
|
235
245
|
|
|
236
|
-
case
|
|
246
|
+
case 3:
|
|
237
247
|
_yield$loader$registe = _context.sent;
|
|
238
248
|
app = _yield$loader$registe.app;
|
|
239
249
|
logger = _yield$loader$registe.logger;
|
|
250
|
+
realVersion = _yield$loader$registe.version;
|
|
251
|
+
setReleaseVersion(realVersion || 'unknown');
|
|
240
252
|
App = app; // container has been unmounted
|
|
241
253
|
|
|
242
254
|
if (!isUnmounted) {
|
|
243
|
-
_context.next =
|
|
255
|
+
_context.next = 11;
|
|
244
256
|
break;
|
|
245
257
|
}
|
|
246
258
|
|
|
247
259
|
return _context.abrupt("return");
|
|
248
260
|
|
|
249
|
-
case
|
|
261
|
+
case 11:
|
|
250
262
|
if (app) {
|
|
251
|
-
_context.next =
|
|
263
|
+
_context.next = 13;
|
|
252
264
|
break;
|
|
253
265
|
}
|
|
254
266
|
|
|
@@ -257,9 +269,9 @@ function createApplication(loader) {
|
|
|
257
269
|
E_MSG: 'load app failed.'
|
|
258
270
|
}));
|
|
259
271
|
|
|
260
|
-
case
|
|
272
|
+
case 13:
|
|
261
273
|
if (appRef.current) {
|
|
262
|
-
_context.next =
|
|
274
|
+
_context.next = 15;
|
|
263
275
|
break;
|
|
264
276
|
}
|
|
265
277
|
|
|
@@ -268,7 +280,7 @@ function createApplication(loader) {
|
|
|
268
280
|
E_MSG: 'cannot find container.'
|
|
269
281
|
}));
|
|
270
282
|
|
|
271
|
-
case
|
|
283
|
+
case 15:
|
|
272
284
|
// update body in sandbox context
|
|
273
285
|
(_app$context$updateBo = (_app$context = app.context).updateBody) === null || _app$context$updateBo === void 0 ? void 0 : _app$context$updateBo.call(_app$context, memoOptions.sandbox.disableFakeBody ? document.body : appRef.current);
|
|
274
286
|
_ref2 = memoOptions.props, path = _ref2.path;
|
|
@@ -313,12 +325,12 @@ function createApplication(loader) {
|
|
|
313
325
|
}
|
|
314
326
|
}
|
|
315
327
|
|
|
316
|
-
_context.next =
|
|
328
|
+
_context.next = 21;
|
|
317
329
|
return app.mount(appRef.current, {
|
|
318
330
|
customProps: customProps
|
|
319
331
|
});
|
|
320
332
|
|
|
321
|
-
case
|
|
333
|
+
case 21:
|
|
322
334
|
if (frameWindow) {
|
|
323
335
|
// 每次挂载后主动触发子应用内的 popstate 事件,借此触发 react-router history 的检查逻辑
|
|
324
336
|
dispatchFramePopstate();
|
|
@@ -327,7 +339,7 @@ function createApplication(loader) {
|
|
|
327
339
|
|
|
328
340
|
setAppInstance(app);
|
|
329
341
|
|
|
330
|
-
case
|
|
342
|
+
case 23:
|
|
331
343
|
case "end":
|
|
332
344
|
return _context.stop();
|
|
333
345
|
}
|
|
@@ -363,8 +375,12 @@ function createApplication(loader) {
|
|
|
363
375
|
|
|
364
376
|
var dataAttrs = {
|
|
365
377
|
'data-id': name,
|
|
366
|
-
|
|
367
|
-
'data-loader': _version.version
|
|
378
|
+
// 加载器版本
|
|
379
|
+
'data-loader': _version.version,
|
|
380
|
+
// 请求版本
|
|
381
|
+
'data-request-version': version || 'latest',
|
|
382
|
+
// 实际线上版本
|
|
383
|
+
'data-release-version': releaseVersion
|
|
368
384
|
};
|
|
369
385
|
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, !appInstance ? /*#__PURE__*/_react.default.createElement(_Loading.default, {
|
|
370
386
|
loading: loading
|
package/lib/index.js
CHANGED
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
4
|
|
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
5
7
|
Object.defineProperty(exports, "__esModule", {
|
|
6
8
|
value: true
|
|
7
9
|
});
|
|
@@ -35,6 +37,18 @@ Object.defineProperty(exports, "prefetch", {
|
|
|
35
37
|
return _alfaCore.prefetch;
|
|
36
38
|
}
|
|
37
39
|
});
|
|
40
|
+
Object.defineProperty(exports, "useAlfaApp", {
|
|
41
|
+
enumerable: true,
|
|
42
|
+
get: function get() {
|
|
43
|
+
return _createAlfaApp.useAlfaApp;
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
Object.defineProperty(exports, "useAlfaWidget", {
|
|
47
|
+
enumerable: true,
|
|
48
|
+
get: function get() {
|
|
49
|
+
return _createAlfaWidget.useAlfaWidget;
|
|
50
|
+
}
|
|
51
|
+
});
|
|
38
52
|
Object.defineProperty(exports, "widgetEventEmitter", {
|
|
39
53
|
enumerable: true,
|
|
40
54
|
get: function get() {
|
|
@@ -42,12 +56,16 @@ Object.defineProperty(exports, "widgetEventEmitter", {
|
|
|
42
56
|
}
|
|
43
57
|
});
|
|
44
58
|
|
|
45
|
-
var _createAlfaApp =
|
|
59
|
+
var _createAlfaApp = _interopRequireWildcard(require("./createAlfaApp"));
|
|
46
60
|
|
|
47
|
-
var _createAlfaWidget =
|
|
61
|
+
var _createAlfaWidget = _interopRequireWildcard(require("./createAlfaWidget"));
|
|
48
62
|
|
|
49
63
|
var _index = require("./widget/index");
|
|
50
64
|
|
|
51
65
|
var _addGlobalRequestInterceptor = _interopRequireDefault(require("./addGlobalRequestInterceptor"));
|
|
52
66
|
|
|
53
|
-
var _alfaCore = require("@alicloud/alfa-core");
|
|
67
|
+
var _alfaCore = require("@alicloud/alfa-core");
|
|
68
|
+
|
|
69
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
70
|
+
|
|
71
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.countRegister = void 0;
|
|
7
|
+
var lastApp;
|
|
8
|
+
var lastTime = 0;
|
|
9
|
+
var min = 1000;
|
|
10
|
+
/**
|
|
11
|
+
* 计算初始化次数,并提示重复加载的应用
|
|
12
|
+
* @param appId string
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
var countRegister = function countRegister(appId) {
|
|
16
|
+
var nowTime = Date.now();
|
|
17
|
+
|
|
18
|
+
if (lastApp === appId && lastTime && nowTime - lastTime < min) {
|
|
19
|
+
console.warn("[@alicloud/alfa-react] ".concat(appId, " \u91CD\u590D\u52A0\u8F7D\uFF0C\u8BF7\u68C0\u67E5\u4F60\u7684\u4EE3\u7801\u3002\u8BF7\u5728\u51FD\u6570\u7EC4\u4EF6\u4E2D\u4F7F\u7528 useAlfaApp \u6216 useAlfaWidget \u65B9\u6CD5\u3002"));
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
lastApp = appId;
|
|
23
|
+
lastTime = nowTime;
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
exports.countRegister = countRegister;
|
package/lib/version.js
CHANGED
package/package.json
CHANGED
package/types/createAlfaApp.d.ts
CHANGED
|
@@ -11,4 +11,10 @@ interface IProps {
|
|
|
11
11
|
path?: string;
|
|
12
12
|
}
|
|
13
13
|
declare function createAlfaApp<P = any>(option: AlfaFactoryOption): (() => null) | ((props: P & IProps) => JSX.Element);
|
|
14
|
+
/**
|
|
15
|
+
* create memorized app in react function component, just create App after first mounted
|
|
16
|
+
* @param option
|
|
17
|
+
* @returns
|
|
18
|
+
*/
|
|
19
|
+
export declare function useAlfaApp<P = any>(option: AlfaFactoryOption): (() => null) | ((props: P & IProps) => JSX.Element);
|
|
14
20
|
export default createAlfaApp;
|
|
@@ -1,4 +1,10 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { AlfaFactoryOption } from './types';
|
|
3
3
|
declare function createAlfaWidget<P = any>(option: AlfaFactoryOption): ((props: P) => JSX.Element) | (() => null);
|
|
4
|
+
/**
|
|
5
|
+
* create memorized app in react function component, just create App after first mounted
|
|
6
|
+
* @param option
|
|
7
|
+
* @returns
|
|
8
|
+
*/
|
|
9
|
+
export declare function useAlfaWidget<P = any>(option: AlfaFactoryOption): ((props: P) => JSX.Element) | (() => null);
|
|
4
10
|
export default createAlfaWidget;
|
package/types/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { default as createAlfaApp } from './createAlfaApp';
|
|
2
|
-
export { default as createAlfaWidget } from './createAlfaWidget';
|
|
1
|
+
export { default as createAlfaApp, useAlfaApp } from './createAlfaApp';
|
|
2
|
+
export { default as createAlfaWidget, useAlfaWidget } from './createAlfaWidget';
|
|
3
3
|
export { eventEmitter as widgetEventEmitter } from './widget/index';
|
|
4
4
|
export { default as addGlobalRequestInterceptor } from './addGlobalRequestInterceptor';
|
|
5
5
|
export { createEventBus, prefetch } from '@alicloud/alfa-core';
|
package/types/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const version = "1.4.
|
|
1
|
+
export declare const version = "1.4.35";
|