category: Getting Started title: Quick Start subTitle: Quick Start icon: doc-gettingstarted localeCode: en-US
# with npm
npm i @douyinfe/semi-ui
# with yarn
yarn add @douyinfe/semi-ui
# with pnpm
pnpm add @douyinfe/semi-ui
import React, { Component } from 'react';
import { Button, Toast } from '@douyinfe/semi-ui';
class Demo extends React.Component {
constructor() {
super();
}
render() {
return <Button onClick={() => Toast.warning({ content: 'welcome' })}>Hello Semi</Button>;
}
}
It is recommended to introduce reset.css into the project, which can avoid introducing the default style of the browser.
We do not recommend using the built file directly, as this will introduce all components in full and cannot be loaded on demand. But if there is indeed a need for non-construction scenarios, you can quote in the following ways
Use script and link tags to import files directly in the browser, and use the global variable SemiUI
、SemiIcons
、SemiIllustrations
react
and react-dom
in advanceResource | URL |
---|---|
semi-ui (min) | https://unpkg.com/@douyinfe/[email protected]/dist/umd/semi-ui.min.js |
semi-icons (min) | https://unpkg.com/@douyinfe/semi-icons@latest/dist/umd/semi-icons.min.js |
semi-illustrations (min) | https://unpkg.com/@douyinfe/semi-illustrations@latest/dist/umd/semi-illustrations.min.js |
semi-ui (normal) | https://unpkg.com/@douyinfe/[email protected]/dist/umd/semi-ui.js |
semi-icons (normal) | https://unpkg.com/@douyinfe/semi-icons@latest/dist/umd/semi-icons.js |
semi-illustrations (normal) | https://unpkg.com/@douyinfe/semi-illustrations@latest/dist/umd/semi-illustrations.js |
Resource | URL |
---|---|
semi.css | https://unpkg.com/@douyinfe/[email protected]/dist/css/semi.css |
semi-icons.css | https://unpkg.com/@douyinfe/semi-icons@latest/dist/css/semi-icons.css |
<!DOCTYPE html>
<html lang="zh-cn">
<head>
<script src="https://unpkg.com/[email protected]/babel.min.js"></script>
+ <script crossorigin src="https://unpkg.com/react@16/umd/react.development.js"></script>
+ <script crossorigin src="https://unpkg.com/react-dom@16/umd/react-dom.development.js"></script>
+ <script src="https://unpkg.com/@douyinfe/[email protected]/dist/umd/semi-ui-react.min.js"></script>
+ <link rel="stylesheet" href="https://unpkg.com/@douyinfe/[email protected]/dist/css/semi.css">
+ <script src="https://unpkg.com/@douyinfe/semi-icons@latest/dist/umd/semi-icons.min.js"></script>
+ <link rel="stylesheet" href="https://unpkg.com/@douyinfe/semi-icons@latest/dist/css/semi-icons.css">
+ <script src="https://unpkg.com/@douyinfe/semi-illustrations@latest/dist/umd/semi-illustrations.min.js"></script>
</head>
<body>
<div id="root"></div>
</body>
</html>
<script type="text/babel">
const { Input, Button, Toast, Icon, Form } = SemiUI;
const { IconHome } = SemiIcons;
const { IllustrationConstruction } = SemiIllustrations;
ReactDOM.render(
<div>
<Button onClick={() => Toast.warning({ duration: 0, content: 'Semi Design' })}>test</Button>
<Input defaultValue="semi" onChange={value => Toast.info('abc')}></Input>
<IconHome size="large" />
<IllustrationConstruction style={{width: 150, height: 150}} />
</div>, document.getElementById("root"));
</script>
Install @douyinfe/semi-next
in the project root directory.
# with npm
npm i @douyinfe/semi-next --save-dev
# with yarn
yarn add @douyinfe/semi-next --dev
# with pnpm
pnpm add @douyinfe/semi-next --dev
Create next.config.js
in the project root directory and configure it.
// next.config.js
const semi = require('@douyinfe/semi-next').default({/* the extension options */});
module.exports = semi({
// your custom Next.js configuration
});
Detailed documentation of @douyinfe/semi-next
.
Introduce the full amount of semi css in global.css
. Currently, on-demand import is not supported.
/* styles/globals.css */
@import '~@douyinfe/semi-ui/dist/css/semi.min.css';
Using theme in nextjs
You need to replace the path of the import statement in Step3, and replace the default theme CSS product with the CSS product in your customized theme package, for example, the theme package is @semi-bot/semi-theme-nyx-c
/* styles/globals.css */
@import '~@semi-bot/semi-theme-nyx-c/semi.min.css';