Skip to content

Commit

Permalink
fix: warning in production mode
Browse files Browse the repository at this point in the history
  • Loading branch information
youluna committed Apr 2, 2020
1 parent 29a7b56 commit 0e4f2d7
Show file tree
Hide file tree
Showing 4 changed files with 42 additions and 7 deletions.
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@alifd/adaptor-generate",
"version": "0.2.4",
"version": "0.2.5",
"description": "Next adaptor generate",
"main": "umd/adaptor-generate.js",
"module": "umd/adaptor-generate.esm.js",
Expand Down
15 changes: 11 additions & 4 deletions src/generate/pc/DemoItem.jsx
Original file line number Diff line number Diff line change
@@ -1,8 +1,15 @@
import React, { Component } from 'react';
import { findDOMNode } from 'react-dom';
import PropTypes from 'prop-types';
import { renderAdaptor } from '../../utils';
import { renderAdaptor, isProduction } from '../../utils';

const warningMsg = (msg) => {
if (isProduction()) {
console.error(msg);
} else {
throw new Error(msg);
}
}
export default class DemoItem extends Component {
static propTypes = {
id: PropTypes.string,
Expand All @@ -18,13 +25,13 @@ export default class DemoItem extends Component {
if (dom && dom.firstElementChild) {
const element = dom.firstElementChild;
if (!element.hasAttribute('data-fusioncool')) {
throw new Error(`[ERROR]: ${adaptor.name} 需要支持透传属性 [data-XXX],否则 Fusion Cool 无法正常渲染`);
warningMsg(`[ERROR]: ${adaptor.name} 需要支持透传属性 [data-XXX],否则 Fusion Cool 无法正常渲染`);
} else if (element.style.direction !== 'ltr') {
throw new Error(`[ERROR]: ${adaptor.name} 需要支持透传属性 [style],否则 Fusion Cool 无法正常渲染`);
warningMsg(`[ERROR]: ${adaptor.name} 需要支持透传属性 [style],否则 Fusion Cool 无法正常渲染`);
element.style.direction = '';
}
} else {
throw new Error(`[ERROR]: ${adaptor.name} DOM 节点不能使用 Portal挂载到其他地方奥`);
warningMsg(`[ERROR]: ${adaptor.name} DOM 节点不能使用 Portal挂载到其他地方奥`);
}
}

Expand Down
4 changes: 2 additions & 2 deletions src/generate/pc/index.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import React, { Component } from 'react';
import PropTypes from 'prop-types';
import { normalizeAdaptor, generateDemos, findProp } from '@alifd/adaptor-helper';
import { normalizeAdaptor, generateDemos, findProp } from '@alifd/adaptor-helper';
import StyledContainer from './style-container';
import DemoSection from './DemoSection';

Expand Down Expand Up @@ -96,7 +96,7 @@ export default (Adaptor) => {
);
}

generateDemos () {
generateDemos() {
const shapes = Adaptor.shape;
return shapes.map(({ label, value }) => {
const { props } = Adaptor.editor(value);
Expand Down
28 changes: 28 additions & 0 deletions src/utils.js
Original file line number Diff line number Diff line change
Expand Up @@ -56,3 +56,31 @@ export const renderAdaptor = (Adaptor, props = {}) => {

return Adaptor.adaptor(props);
};

/**
* 判断是否是生产环境
* @type {Boolean}
*/
export const isProduction = () => {
const PRODUCTION_ENV = 'production';
let result = false;
try {
if (process.env.NODE_ENV === PRODUCTION_ENV) {
result = true;
}
} catch (err) {
//
}

if (!result) {
try {
if (window.process.env.NODE_ENV === PRODUCTION_ENV) {
result = true;
}
} catch (err) {
//
}
}

return result;
};

0 comments on commit 0e4f2d7

Please sign in to comment.