时间:2022-03-05 09:50:45 | 栏目:vue | 点击:次
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。