vue安装element-ui和px2rem的细节

时间:2023-03-09 06:09:46
vue安装element-ui和px2rem的细节

1、按需引入element-ui


vue脚手架搭建完成之后,可以到element-ui官网进行npm 安装:

npm i element-ui -S

如果是完整引入可以按照官网一步一步做即可完成;这里是按需引入,借助 babel-plugin-component,我们可以只引入需要的组件,以达到减小项目体积的目的。

首先,安装babel-plugin-component:

npm install babel-plugin-component -D

然后,需要将项目里的.babelrc修改为:

{
"presets": [
["env", {
"modules": false,
"targets": {
"browsers": ["> 1%", "last 2 versions", "not ie <= 8"]
}
}],
"stage-2"
],
"plugins": ["transform-vue-jsx", "transform-runtime",
[
"component",
{
"libraryName": "element-ui",
"styleLibraryName": "theme-chalk"
}
]
]
}

将这个复制粘贴到你的项目里即可,跟官网修改的有点区别,我去掉了“es2015”,我之前安装了这个会一直报错。

接下来,我们只要引入我们需要的组件,比如Button,那么需要在main.js中写入以下内容:

import { Button,Select } from 'element-ui'
Vue.component(Button.name, Button);
Vue.component(Select.name, Select);
/* 或写为 * Vue.use(Button) */
/*Vue.use(Select)*/

本人更喜欢写成Vue.use(Button),注意,部分组件需要这样引入:

import {Message} from 'element-ui'
Vue.prototype.$message = Message;

message组件是用事件来展示效果。

以上就是安装按需element-ui的过程和细节啦。


2、安装px2rem


首先,安装:

npm install px2rem-loader  lib-flexible --save

然后在main.js中引入

import 'lib-flexible/flexible.js'

在build中utils.js添加以下代码:

const px2remLoader = {

  loader: 'px2rem-loader',

  options: {

    remUnit:37.5

  }

}

// generate loader string to be used with extract text plugin

  function generateLoaders (loader, loaderOptions) {

  const loaders = options.usePostCSS ? [cssLoader, postcssLoader,px2remLoader] : [cssLoader,px2remLoader]

  if (loader) {

    loaders.push({

      loader: loader + '-loader',

      options: Object.assign({}, loaderOptions, {

        sourceMap: options.sourceMap

      })

    })

  }

重启项目后,就可以看到px变成rem啦~