import{c as t,o as n,A as s}from"./vendor.80bf15c7.js";const e={class:"markdown-body"},u=s('
npm i @nutui/nutui@next -S\nyarn add @nutui/nutui@next\n如果你的网络环境不佳,不妨试试国内的npm镜像
默认安装最新版 2.x,如需使用 1.x 版本,请指定版本号,如:
npm i @nutui/nutui@1.3.2 -S
在页面中使用 script 和 link 标签直接引入文件,NutUI 将会自动注册。我们在 npm 发布包内的 dist 目录下提供了 nutui.js nutui.css 以及 nutui.min.js nutui.min.css。
当然你也可以通过 CDN 的方式引入, 可以在 jsdelivr 和 unpkg 等公共 CDN 上获取到 NutUI。我们推荐链接到一个你可以手动更新的指定版本号。
<!-- 开发环境版本,包含了有帮助的命令行警告 -->\n<!-- 引入样式 -->\n<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@nutui/nutui@beta/dist/nutui.css">\n<!-- 引入Vue -->\n<script src="https://cdn.jsdelivr.net/npm/vue@next"></script>\n<!-- 引入组件库 -->\n<script src="https://cdn.jsdelivr.net/npm/@nutui/nutui@beta/dist/nutui.js"></script>\n或者
<!-- 生产环境版本,优化了尺寸和速度 -->\n<!-- 引入样式 -->\n<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@nutui/nutui@beta/dist/nutui.min.css">\n<!-- 引入Vue -->\n<script src="https://cdn.jsdelivr.net/npm/vue@next"></script>\n<!-- 引入组件库 -->\n<script src="https://cdn.jsdelivr.net/npm/@nutui/nutui@beta/dist/nutui.min.js"></script>\nCDN 使用示例
<!DOCTYPE html>\n<html>\n<head>\n <meta charset="UTF-8">\n <meta name="viewport" content="width=device-width, initial-scale=1.0">\n <!-- 引入样式 -->\n <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@nutui/nutui@beta/dist/nutui.min.css">\n <!-- 引入Vue -->\n <script src="https://cdn.jsdelivr.net/npm/vue@next"></script>\n <!-- 引入NutUI组件库 -->\n <script src="https://cdn.jsdelivr.net/npm/@nutui/nutui@beta/dist/nutui.min.js"></script>\n</head>\n<body>\n <div id="app">\n <nut-button>Button</nut-button>\n </div>\n <script>\n new Vue({el: '#app'});\n </script>\n</body>\n</html>\nCDN 按需加载引入示例
<!DOCTYPE html>\n<html>\n <head>\n <meta charset="UTF-8" />\n <meta name="viewport" content="width=device-width, initial-scale=1.0" />\n </head>\n\n <body>\n <div id="app">\n <nut-button>cdn按需加载</nut-button>\n </div>\n\n <!-- 开发环境版本,包含了有帮助的命令行警告 -->\n <!-- 引入样式 -->\n <link\n rel="stylesheet"\n href="https://cdn.jsdelivr.net/npm/@nutui/nutui@latest/dist/packages/button/button.css"\n />\n <!-- 引入Vue -->\n <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>\n <!-- 引入组件库 -->\n <script src="https://cdn.jsdelivr.net/npm/@nutui/nutui@latest/dist/packages/button/button.js"></script>\n <script>\n Vue.component(button.default.name, button.default);\n new Vue({\n el: "#app"\n });\n </script>\n </body>\n</html>\n在页面中直接引入,将无法使用 主题定制 等功能。我们推荐使用 NPM 或 YARN 方式安装,不推荐在页面中直接引入的用法
如果你的项目是使用 Vue CLI 脚手架搭建,那么你还可以通过 Vue CLI 提供的图形化界面安装 NutUI :在图形化界面的 依赖 界面,点击右上角 安装依赖 按钮,搜索 @nutui/nutui 安装即可。
import Vue from 'vue';\nimport NutUI from '@nutui/nutui';\nimport '@nutui/nutui/dist/nutui.css';\n\nNutUI.install(Vue);\n注意:这种方式将会导入所有组件
以下两种方式都可以实现只加载用到的组件,从而减少加载的文件体积。
首先安装 @nutui/babel-plugin-separate-import 插件
npm i @nutui/babel-plugin-separate-import -D\n然后配置一下babel的配置文件
{\n "plugins": [\n ["@nutui/babel-plugin-separate-import", {\n "style": "scss"\n }]\n ]\n}\nstyle 选项值为 “css” 时加载组件对应的css文件,为 “scss” 时加载对应的scss文件。无style选项时,不自动加载样式文件。
接下来,我们就可以在项目里只引入用到的组件了。默认情况下,样式也无需单独引入。插件会自动将代码转换为方式二的手动引入方式。
import Vue from 'vue';\nimport { Dialog,Picker } from '@nutui/nutui';\n\nDialog.install(Vue);\nPicker.install(Vue);\n如果需要按需加载 scss 文件(如需要自定义主题)时,除了需要把 style 选项值设为 scss 外,还需要修改 webpack 配置文件的 sass-loader 配置,如下所示:
{\n loader: 'sass-loader',\n options: {\n data: `@import "@nutui/nutui/dist/styles/index.scss"; `\n }\n}\nvue.config.js VueCLI3 配置方式
module.exports = {\n css: {\n loaderOptions: {\n // 给 sass-loader 传递选项\n scss: {\n // @/ 是 src/ 的别名\n // 注意:在 sass-loader v7 中,这个选项名是 "data"\n prependData: ` \n @import "@/assets/custom_theme.scss";\n @import "@nutui/nutui/dist/styles/index.scss";\n `,\n }\n },\n }\n}\nVueCLI 3 相关Demo 请查看 NutUI Demo
import Vue from 'vue';\nimport Button from '@nutui/nutui/dist/packages/button/button.js'; // 加载构建后的JS\nimport '@nutui/nutui/dist/packages/button/button.css'; //加载构建后的CSS\n//主题定制等场景需要加载SCSS,而不是构建后的CSS\n//import '@nutui/nutui/dist/packages/button/button.scss'; \n\nButton.install(Vue);\n1.使用:prop传递数据格式为 数字、布尔值或函数时,必须带:(兼容字符串类型除外),比如:
<nut-switch :active="true" size="base"></nut-switch>\n2.组件 css 单位使用的是 px,如果你的项目中需要 rem 单位,可借助一些工具进行转换,比如 webpack 的 px2rem-loader、postcss 的 postcss-plugin-px2rem 插件等
VueCLI3 配置示例 vue.config.js
const pxtorem = require('postcss-pxtorem');\nmodule.exports = {\n css: {\n loaderOptions: {\n postcss: {\n plugins: [\n pxtorem({\n rootValue: 37.5,\n propList: ['*']\n })\n ]\n }\n }\n }\n}\n3.组件具体用法以文档为准
4.组件使用过程中如有问题或建议,欢迎反馈
',50),o={expose:[],setup:s=>(s,o)=>(n(),t("div",e,[u]))};export default o;