在Vue项目中应用elementUI踩过的坑

最近自己鼓捣vue项目的时候想着应用elementUI玩玩,于是就开始动手玩起来了。

一、新建项目

1.打开cmd,运行:vue init webpack Vue-Demo

2.运行:cd Vue-Demo进入这一级

3.运行:npm install

4.运行:npm run dev

如果浏览器打开之后,没有加载出页面,说明本地的8080 端口被占用,需要修改一下配置文件 config/index.js

解释:1.将 build 的路径前缀修改为 ' ./ '(原本为 ' / '),是因为打包之后,外部引入 js 和 css 文件时,如果路

径以 ' / ' 开头,那么在本地是无法找到对应文件。所以如果需要在本地打开打包后的文件,

就得修改文件路径。

2.将端口号改为不常用的端口。

显示页面如下:

项目新建完成。

二、引入Element

1.打开cmd,在当前目录中运行:npm i element-ui -S

2.src/main.js(红色的)

PS:之前引用的时候忘了import 'element-ui/lib/theme-default/index.css',导致每次都不能应用到elementUI样式,

还在网上找了很多资料,包括配置webpack.base.conf.js里的style.loader和css.loader等等情况。最后才发现是自己忘了

引用elementUI样式。到了这里还有个坑,可能由于版本问题,我下载的elementUI在lib文件夹下没有theme-default这个文件夹

而是theme-chalk文件夹,所以还需要更改下路径。

// The Vue build version to load with the `import` command
// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
import Vue from 'vue'
import App from './App'
import router from './router'
import ElementUI from 'element-ui'
import 'element-ui/lib/theme-default/index.css'


Vue.config.productionTip = false

/* eslint-disable no-new */
Vue.use(ElementUI)

new Vue({
  el: '#app',
  router,
  template: '<App/>',
  components: { App }
})

3.然后在.vue文件里就直接可以用了
例如:在src/components/Hello.vue做一下修改

 
  1. <template>

  2. <div class="hello">

  3. <h1>{{ msg }}</h1>

  4. <h2>Essential Links</h2>

  5. <el-button>默认按钮</el-button>

  6. <el-button type="primary">主要按钮</el-button>

  7. <el-button type="text">文字按钮</el-button>

  8. </div>

  9. </template>

  10.  
  11. <script>

  12. export default {

  13. name: 'hello',

  14. data () {

  15. return {

  16. msg: 'Welcome to Your Vue.js App'

  17. }

  18. }

  19. }

  20. </script>

  21.  
  22. <!-- Add "scoped" attribute to limit CSS to this component only -->

  23. <style scoped>

  24. h1, h2 {

  25. font-weight: normal;

  26. }

  27.  
  28. ul {

  29. list-style-type: none;

  30. padding: 0;

  31. }

  32.  
  33. li {

  34. display: inline-block;

  35. margin: 0 10px;

  36. }

  37.  
  38. a {

  39. color: #42b983;

  40. }

  41. </style>

运行:npm run dev

你将看到如下页面:

成功的引入了Element!!
更多样式请参考:http://element.eleme.io/#/zh-CN/component/layout

ps:
看了一些资料,有的引入之后会出现
报错:Error when rendering component
原因如下:
Vue 2.1.5 将 _h 重命名为 _c,而 Element 目前发的版本都是用以前的 compiler 编译的,
导致新版 runtime 无法运行 Element。目前的解决方案是锁定 Vue 的版本为 2.1.4
锁定vue相关版本
npm remove vue #卸载相关的版本
重新安装一下版本
"vue-template-compiler": "2.1.4"
"vue-loader": "10.0.0"
"vue": "2.1.4"

共勉~

猜你喜欢

转载自blog.csdn.net/guxin_duyin/article/details/82109391