在全局已安装脚手架工具条件下:
vue create myProject (项目文件夹名)
cd myProject (进入文件夹)
npm run serve (启动项目)
vue 常用配置
npm install vue-router
import Vue from 'vue'
import VueRouter from 'vue-router'
Vue.use(VueRouter)
npm install vuex --save
import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)
npm install axios
import Vue from 'vue'
import axios from 'axios'
Vue.use(axios)
npm i element-ui -S
import Vue from 'vue'
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
Vue.use(ElementUI);
npm i vant -S
import Vue from 'vue'
import Vant from 'vant';
import 'vant/lib/index.css';
Vue.use(Vant);
npm install vconsole --save-dev
// 初始化
var vConsole = new VConsole();
console.log('Hello world');
npm i --save lodash
import _ from 'lodash'
npm i image-conversion --save
import * as imageConversion from 'image-conversion';
或按需引入
import {compress, compressAccurately} from 'image-conversion';
<input id="demo" type="file" onchange="view()">
// 压缩到 200kb 以下
function view(){
const file = document.getElementById('demo').files[0];
console.log(file);
imageConversion.compressAccurately(file,200).then(res=>{
//The res in the promise is a compressed Blob type (which can be treated as a File type) file;
console.log(res);
})
}
// 异步压缩
async function view() {
const file = document.getElementById('demo').files[0];
console.log(file);
const res = await imageConversion.compressAccurately(file,200)
console.log(res);
}
// accuracy 图像压缩精度大小,范围0.8-0.99,默认为0.95
// 这意味着如果图片大小设置为1000Kb并且精度为0.9,图像与压缩结果一致900Kb-1100Kb被认为是可接受的
function view(){
const file = document.getElementById('demo').files[0];
console.log(file);
imageConversion.compress(file,0.9).then(res=>{
console.log(res);
})
}
npm install xe-utils vxe-table
import Vue from 'vue'
import 'xe-utils'
import VXETable from 'vxe-table'
import 'vxe-table/lib/index.css'
Vue.use(VXETable)
// 给 vue 实例挂载全局窗口对象
Vue.prototype.$XModal = VXETable.modal
10. 其他开发工具及常用插件
- 安装 sass-loader、 node-sass、 webpack
- npm install sass-loader node-sass webpack --save-dev
- "file-saver":如果你需要保存较大的文件,不受 blob 的大小限制或内存限制,可以看一下更高级的 StreamSaver.js, 它使用强大的 stream API,可以将数据直接异步地保存到硬盘。支持进度、取消操作以及完成事件回调。
- "js-cookie":轻量级JS Cookie插件
- "nprogress": 页面加载进度条
- "xlsx": 由SheetJS出品的js-xlsx是一款非常方便的只需要纯JS即可读取和导出excel的工具库,功能强大,支持格式众多,支持xls、xlsx、ods(一种OpenOffice专有表格文件格式)等十几种格式。本文全部都是以xlsx格式为例。
- "sass-loader": scss加载器,scss或sass编译成css
- "babel-polyfill":js兼容
- "lodash": 它内部封装了诸多对字符串、数组、对象等常见数据类型的处理函数
- "vue-amap": 基于Vue 2.0和高德地图的地图组件。
- "vue-qart": 实现二维码
- "vue-keep-scroll": 一个Vue.JS插件指令,用于在分离时记住元素滚动位置
- "vue-scroller": vue可以记录组件滚动位置等
- "cross-spawn": 解决跨平台开发的一些问题,比如mac和Windows的差异
- "node-sass": Node-sass是一个库,它将Node.js绑定到LibSass(流行样式表预处理器Sass的C版本)
- "ora": 优雅的终端转轮 给终端显示动画等
- "postcss-pxtorem": 一个用于PostCSS的插件,它可以从像素单元生成rem单元
- "vue-loader": 这是一个基于样式加载器的fork。与style-loader类似由于这是作为一个依赖项包含的,并且在vue-loader中默认使用,所以在大多数情况下,不需要自己配置这个加载器。
- lib-flexible 用于设置 rem 基准值