UNPKG

inventor-view-react-redux

Version:
144 lines (128 loc) 6 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = _default; var _react = _interopRequireDefault(require("react")); /** * 通用页面框架 * * @author : sunkeysun */ function _getAssetLink() { var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : { publicHost: '' }, link = _ref.link, publicHost = _ref.publicHost; return /^(https?:)|(\/\/)/.test(link) ? link : "".concat(publicHost).concat(link); } function _default() { var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var _props$locals = props.locals, locals = _props$locals === void 0 ? {} : _props$locals, _props$nodeEnv = props.nodeEnv, nodeEnv = _props$nodeEnv === void 0 ? '' : _props$nodeEnv, _props$appHTML = props.appHTML, appHTML = _props$appHTML === void 0 ? '' : _props$appHTML, _props$initialState = props.initialState, initialState = _props$initialState === void 0 ? {} : _props$initialState, _props$appPath = props.appPath, appPath = _props$appPath === void 0 ? '' : _props$appPath, _props$appName = props.appName, appName = _props$appName === void 0 ? '' : _props$appName, _props$commonPath = props.commonPath, commonPath = _props$commonPath === void 0 ? '' : _props$commonPath, _props$vendorPath = props.vendorPath, vendorPath = _props$vendorPath === void 0 ? '' : _props$vendorPath, _props$ssr = props.ssr, ssr = _props$ssr === void 0 ? false : _props$ssr, _props$publicHost = props.publicHost, publicHost = _props$publicHost === void 0 ? '' : _props$publicHost, _props$rootDomId = props.rootDomId, rootDomId = _props$rootDomId === void 0 ? '' : _props$rootDomId, _props$constants = props.constants, constants = _props$constants === void 0 ? {} : _props$constants, _props$ignoreAssetHas = props.ignoreAssetHash, ignoreAssetHash = _props$ignoreAssetHas === void 0 ? false : _props$ignoreAssetHas; var _require = require("".concat(vendorPath, "/addon")), _require$jsList = _require.jsList, vendorJsList = _require$jsList === void 0 ? [] : _require$jsList, _require$cssList = _require.cssList, vendorCssList = _require$cssList === void 0 ? [] : _require$cssList; var _require2 = require("".concat(commonPath, "/addon")), _require2$jsList = _require2.jsList, commonJsList = _require2$jsList === void 0 ? [] : _require2$jsList, _require2$cssList = _require2.cssList, commonCssList = _require2$cssList === void 0 ? [] : _require2$cssList; var _require3 = require("".concat(appPath, "/").concat(appName, "/addon")), _require3$jsList = _require3.jsList, appJsList = _require3$jsList === void 0 ? [] : _require3$jsList, _require3$cssList = _require3.cssList, appCssList = _require3$cssList === void 0 ? [] : _require3$cssList; var realJsList = vendorJsList.concat(commonJsList).concat(appJsList); var realCssList = vendorCssList.concat(commonCssList).concat(appCssList); var localJsList = _.get(locals, 'JS_LIST', []); var localCssList = _.get(locals, 'CSS_LIST', []); if (localJsList.length) { realJsList = localJsList; } if (localCssList.length) { realCssList = localCssList; } if (ignoreAssetHash) { realJsList = _.map(realJsList, function (js) { return js.replace(/(.*)\.\w{10,}\.js$/, '$1.js'); }); realCssList = _.map(realCssList, function (css) { return css.replace(/(.*)\.\w{10,}\.css$/, '$1.css'); }); } var initialStateJson = JSON.stringify(initialState); var contantsJson = JSON.stringify(locals.CONSTANTS); return /*#__PURE__*/_react["default"].createElement("html", null, /*#__PURE__*/_react["default"].createElement("head", null, /*#__PURE__*/_react["default"].createElement("meta", { httpEquiv: "keywords", content: locals.PAGE_KEYWORDS }), /*#__PURE__*/_react["default"].createElement("meta", { httpEquiv: "description", content: locals.PAGE_DESCRIPTION }), /*#__PURE__*/_react["default"].createElement("meta", { httpEquiv: "Content-Type", content: "text/html; charset=UTF-8" }), /*#__PURE__*/_react["default"].createElement("meta", { httpEquiv: "X-UA-Compatible", content: "IE=edge,chrome=1" }), /*#__PURE__*/_react["default"].createElement("meta", { name: "viewport", content: "width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1" }), /*#__PURE__*/_react["default"].createElement("title", null, locals.PAGE_TITLE), _.map(realCssList, function (css, index) { return /*#__PURE__*/_react["default"].createElement("link", { key: index, href: _getAssetLink({ link: css, publicHost: publicHost }), rel: "stylesheet", media: "screen" }); }), /*#__PURE__*/_react["default"].createElement("script", { dangerouslySetInnerHTML: { __html: "\n window.__SSR__ = ".concat(ssr, "\n window.__INITIAL_STATE__ = ").concat(initialStateJson, "\n window.__NODE_ENV__ = '").concat(nodeEnv, "'\n window.__APP_NAME__ = '").concat(appName, "'\n window.__ROOT_DOM_ID__ = '").concat(rootDomId, "'\n window.__CONSTANTS__ = ").concat(contantsJson, "\n ") } })), /*#__PURE__*/_react["default"].createElement("body", null, /*#__PURE__*/_react["default"].createElement("div", { id: rootDomId, dangerouslySetInnerHTML: { __html: appHTML } }), _.map(realJsList, function (js, index) { return /*#__PURE__*/_react["default"].createElement("script", { key: index, type: "text/javascript", src: _getAssetLink({ link: js, publicHost: publicHost }) }); }))); }