详解Nuxt.js中使用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。

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

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容