Nuxt配置Element-UI按需引入的操作方法


Posted in Javascript onJuly 06, 2020

Nuxt 使用 create-nuxt-app 创建项目时,选择使用 Element-UI 为默认组件库,发现 Nuxt 没有开启 Element-UI 的按需引入配置,需要自行配置。

安装依赖

在 create-nuxt-app 中没有选择 Element-UI 的先安装。

npm install element-ui --save

或者

yarn add element-ui

Element-UI 开启按需引入,必须安装 babel-plugin-component 插件。

npm install babel-plugin-component --save-dev

或者

yarn add babel-plugin-component

安装完成后,在文件根目录创建(或已经存在) plugins/ 目录下创建相应的插件文件,创建名为:element-ui.js 的文件。

// element-ui.js
import Vue from 'vue'
import {
 Container,
 Header,
 Aside,
 Main,
 Menu,
 MenuItem,
 Button,
 Form,
 FormItem,
 Input
} from 'element-ui'
import locale from 'element-ui/lib/locale/lang/en'

const components = [
 Container,
 Header,
 Aside,
 Main,
 Menu,
 MenuItem,
 Button,
 Form,
 FormItem,
 Input
];

const Element = {
 install (Vue) {
 components.forEach(component => {
  Vue.component(component.name, component)
 })
 }
}

Vue.use(Element, { locale })

配置 plugins 选项

在 nuxt.config.js 文件中,配置 plugins 选项。

module.exports = {
 /*
 ** Plugins to load before mounting the App
 ** https://nuxtjs.org/guide/plugins
 */
 plugins: ["@/plugins/element-ui"],
}

Nuxt 默认为开启 SSR,采用服务端渲染,也可以手动配置关闭 SSR,配置为:

module.exports = {
 /*
 ** Plugins to load before mounting the App
 ** https://nuxtjs.org/guide/plugins
 */
 plugins: [
 {
  src: "@/plugins/element-ui",
  ssr: false // 关闭ssr
 }
 ],
}

如果在 create-nuxt-app 中默认选了 Element-UI 的,还需要将 Element-UI 的全局样式去掉,即在 nuxt.config.js 中:

module.exports = {
 /*
 ** Global CSS
 */
 css: ['element-ui/lib/theme-chalk/index.css'],
}

删除 'element-ui/lib/theme-chalk/index.css' 作为全局样式的打包配置,改为

module.exports = {
 /*
 ** Global CSS
 */
 css: [],
}

配置 babel 选项

在 nuxt.config.js 文件中,在选项 build 中配置 babel 选项:

module.exports = {
 /*
 ** Build configuration
 ** See https://nuxtjs.org/api/configuration-build/
 */
 build: {
 babel: {
  "plugins": [
  [
   "component",
   {
   "libraryName": "element-ui",
   "styleLibraryName": "theme-chalk"
   }
  ]
  ]
 }
 }
}

到此,Element-UI 按需引入配置完成。

总结

到此这篇关于Nuxt配置Element-UI按需引入方法的文章就介绍到这了,更多相关Nuxt 按需引入Element-UI内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
永不消失的title提示代码
Feb 15 Javascript
jquery使用hide方法隐藏指定id的元素
Mar 30 Javascript
AngularJS中的$watch(),$digest()和$apply()区分
Apr 04 Javascript
关于JS中二维数组的声明方法
Sep 24 Javascript
jquery PrintArea 实现票据的套打功能(代码)
Mar 17 Javascript
vue-router单页面路由
Jun 17 Javascript
React-Native实现ListView组件之上拉刷新实例(iOS和Android通用)
Jul 11 Javascript
Angular 2.0+ 的数据绑定的实现示例
Aug 09 Javascript
详解javascript 正则表达式之分组与前瞻匹配
May 30 Javascript
vue-resource请求实现http登录拦截或者路由拦截的方法
Jul 11 Javascript
element-ui 上传图片后清空图片显示的实例
Sep 04 Javascript
详解ES6 Symbol 的用途
Oct 14 Javascript
解决Nuxt使用axios跨域问题
Jul 06 #Javascript
js实现星星打分效果
Jul 05 #Javascript
jQuery实现简单飞机大战
Jul 05 #jQuery
javascript实现贪吃蛇小练习
Jul 05 #Javascript
jQuery实现简单日历效果
Jul 05 #jQuery
jQuery实现飞机大战小游戏
Jul 05 #jQuery
原生js实现随机点名
Jul 05 #Javascript
You might like
PHP中的正规表达式(二)
2006/10/09 PHP
PHP运行时强制显示出错信息的代码
2011/04/20 PHP
PHP获取文件扩展名的4种方法
2015/11/24 PHP
解析PHP之提取多维数组指定列的方法
2017/01/03 PHP
简单的JS多重继承示例
2008/03/13 Javascript
js通过八个点 拖动改变div大小的实现方法
2014/03/05 Javascript
JavaScript通过字典进行字符串翻译转换的方法
2015/03/19 Javascript
JS获得图片alt信息的方法
2015/04/01 Javascript
基于gulp合并压缩Seajs模块的方式说明
2016/06/14 Javascript
jQuery插件HighCharts绘制2D圆环图效果示例【附demo源码下载】
2017/03/09 Javascript
axios基本入门用法教程
2017/03/25 Javascript
微信小程序 登录的简单实现
2017/04/19 Javascript
Node.js使用orm2进行update操作时关联字段无法修改的解决方法
2017/06/13 Javascript
vue服务端渲染页面缓存和组件缓存的实例详解
2018/09/18 Javascript
laydate如何根据开始时间或者结束时间限制范围
2018/11/15 Javascript
常见的浏览器存储方式(cookie、localStorage、sessionStorage)
2019/05/07 Javascript
15 分钟掌握vue-next响应式原理
2019/10/13 Javascript
Vue.js中使用Vuex实现组件数据共享案例
2020/07/31 Javascript
three.js显示中文字体与tween应用详析
2021/01/04 Javascript
[47:03]Ti4第二日主赛事败者组 LGD vs iG 2
2014/07/21 DOTA
[42:39]老党炸弹人试玩视频
2014/09/03 DOTA
python压缩文件夹内所有文件为zip文件的方法
2015/06/20 Python
python代码实现ID3决策树算法
2017/12/20 Python
Python实现将蓝底照片转化为白底照片功能完整实例
2019/12/13 Python
pytorch1.0中torch.nn.Conv2d用法详解
2020/01/10 Python
Python接收手机短信的代码整理
2020/08/02 Python
CSS实现限制字数功能当对象内文本溢出时显示省略标记
2014/08/20 HTML / CSS
台湾母婴用品限时团购:妈咪爱
2018/08/03 全球购物
荷兰街头时尚之家:Funkie House
2019/03/18 全球购物
DOM和JQuery对象有什么区别
2016/11/11 面试题
大四自我鉴定
2014/02/08 职场文书
求职信名称怎么写
2014/05/26 职场文书
班主任工作实习计划
2015/01/16 职场文书
十二月早安励志心语大全
2019/12/03 职场文书
python异常中else的实例用法
2021/06/15 Python
Nginx实现会话保持的两种方式
2022/03/18 Servers