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 相关文章推荐
jQuery 技巧小结
Apr 02 Javascript
jQuery.extend 函数详解
Feb 03 Javascript
javascript for循环从入门到偏门(效率优化+奇特用法)
Aug 01 Javascript
jQuery 全选/反选以及单击行改变背景色实例
Jul 02 Javascript
jquery实现的一个文章自定义分段显示功能
May 23 Javascript
简单实现异步编程promise模式
Jul 31 Javascript
json数据处理及数据绑定
Jan 25 Javascript
vue.js动态数据绑定学习笔记
May 19 Javascript
用Object.prototype.toString.call(obj)检测对象类型原因分析
Oct 11 Javascript
基于Vue实现可以拖拽的树形表格实例详解
Oct 18 Javascript
在Vue中用canvas实现二维码和图片合成海报的方法
Jun 10 Javascript
Node使用Selenium进行前端自动化操作的代码实现
Oct 10 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动态生成虚拟现实VRML网页
2006/10/09 PHP
无法在发生错误时创建会话,请检查 PHP 或网站服务器日志,并正确配置 PHP 安装(win+linux)
2012/05/05 PHP
js查错流程归纳
2012/05/04 Javascript
JS写的贪吃蛇游戏(个人练习)
2013/07/08 Javascript
JS 实现导航栏悬停效果
2013/09/23 Javascript
Javascript验证用户输入URL地址是否为空及格式是否正确
2014/10/09 Javascript
javascript实现倒计时N秒后网页自动跳转代码
2014/12/11 Javascript
jQuery的Scrollify插件实现滑动到页面下一节点
2015/07/05 Javascript
jQuery+css3实现Ajax点击后动态删除功能的方法
2015/08/10 Javascript
jquery对dom节点的操作【推荐】
2016/04/15 Javascript
基于JS实现textarea中获取动态剩余字数的方法
2016/05/25 Javascript
AngularJs directive详解及示例代码
2016/09/01 Javascript
NodeJS配置HTTPS服务实例分享
2017/02/19 NodeJs
微信小程序 自动登陆PHP源码实例(源码下载)
2017/05/08 Javascript
JS移动端/H5同时选择多张图片上传并使用canvas压缩图片
2017/06/20 Javascript
理解Angular的providers给Http添加默认headers
2017/07/04 Javascript
详解Webstorm 新建.vue文件支持高亮vue语法和es6语法
2017/10/26 Javascript
解决Layui 表单提交数据为空的问题
2018/08/15 Javascript
微信小程序如何获取用户头像和昵称
2019/09/23 Javascript
JavaScript实现手风琴效果
2021/02/18 Javascript
[37:45]完美世界DOTA2联赛PWL S3 LBZS vs Phoenix 第二场 12.09
2020/12/11 DOTA
python flask实现分页效果
2017/06/27 Python
详解python列表生成式和列表生成式器区别
2019/03/27 Python
PyQt5 在label显示的图片中绘制矩形的方法
2019/06/17 Python
Python中IP地址处理IPy模块的方法
2019/08/16 Python
wxPython绘图模块wxPyPlot实现数据可视化
2019/11/19 Python
python如何判断IP地址合法性
2020/04/05 Python
Python 远程开关机的方法
2020/11/18 Python
中国网上药店领导者:1药网
2017/02/16 全球购物
联想智利官方网站:Lenovo Chile
2020/06/03 全球购物
实用的简历自我评价
2014/03/06 职场文书
项目经理聘任书
2014/03/29 职场文书
Nginx配置80端口访问8080及项目名地址方法解析
2021/03/31 Servers
python ansible自动化运维工具执行流程
2021/06/24 Python
Redis调用Lua脚本及使用场景快速掌握
2022/03/16 Redis
Java基于Dijkstra算法实现校园导游程序
2022/03/17 Java/Android