欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

详解Nuxt.js中使用Element-UI填坑

程序员文章站 2023-11-11 15:47:52
nuxt.js是vue进行ssr的一个优选开源项目,可免去繁琐的webpack、nodejs后台服务配置等操作,方便的搭建一个支持ssr的vue项目。element-ui则...

nuxt.js是vue进行ssr的一个优选开源项目,可免去繁琐的webpack、nodejs后台服务配置等操作,方便的搭建一个支持ssr的vue项目。element-ui则是一个机遇vue2.0+开发的一套ui框架,实现了常用的组件,可帮助开发者快速搭建一个如cms系统、后台管理系统等基于vue的系统。

由于element-ui目前在ssr支持方面还是不够完善,且nuxt.js在文档方面也有欠缺,所以在nuxt.js中使用element-ui也是一段坑路,需要去将查看nuxt源码与element-ui文档相结合才可以填完坑。

1、创建nuxt.js的项目

nuxt.js提供了一个vue-cli的模板,可以快速的开始coding的工作。

vue init nuxt/starter \

2、添加element-ui

与其他组件一样,直接通过npm或者yarn即可添加。

yarn add element-ui

在nuxt.js中使用element-ui需要通过plugins的方式引入,所以我们需要配置nuxt.config.js文件。

css: [
  '~assets/css/main.css',
  'element-ui/lib/theme-default/index.css'
 ],
 build: {
  vendor: [
   'axios',
   'element-ui'
  ],
  babel: {
   plugins: [['component', [{
    libraryname: 'element-ui',
    stylelibraryname: 'theme-default'
   }]]]
  },
  loaders:[
   {
    test: /\.css$/,
    loader: 'vue-style-loader!css-loader'
   },
   {
    test: /\.(png|jpe?g|gif|svg)$/,
    loader: 'url-loader',
    query: {
     limit: 1000, // 1ko
     name: 'img/[name].[hash:7].[ext]'
    }
   },
   {
    test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/,
    loader: 'url-loader',
    query: {
     limit: 1000, // 1 ko
     name: 'fonts/[name].[hash:7].[ext]'
    }
   }
  ],
  postcss: [
   require('autoprefixer')({
    browsers: ['last 3 versions']
   })
  ]
 },
 plugins: ['~plugins/element-ui'],

同时,我们需要在根目录下新建一个plugins的目录,添加一个element-ui.js的文件,文件内容如下:

import vue from 'vue'

if (process.browser_build) {
 vue.use(require('element-ui'))
}

通过此种方式即可实现在nuxt.js中使用element-ui。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。