node与npm一起捆绑安装;
下载地址:
https://nodejs.org/en/
用以下命令检查是否安装好:
npm install -g cnpm --registry=https://registry.npm.taobao.org
如果不行,换命令安装:
npm install --registry=https://registry.npm.taobao.org
cnpm -v
cnpm install -g @vue/cli
安装桥接工具(脚手架工具)
cnpm install -g @vue/cli-init
用以下命令检查vue是否安装好:
vue -V (v必须大写)
webpack 是一个模块打包器。它的主要目标是将 JavaScript 文件打包在一起,打包后的文件用于在浏览器中使用。
cnpm install -g webpack
vue init webpack my-project (2.X)
拒绝npm安装
cnpm install(国内下载)
http://localhost:8080
通过介质传递,同一个字元素或者同一个父元素就是介质
this.$emit('数据名称',数据)
this.$on(res=>{
// 数据监听,进行数据处理
})
import Vue from 'vue'
const Bus = new Vue()
export default Bus
import bus from './bus/bus'
Vue.prototype.$bus = bus
this.$bus.$emit('传递的数据的名字', 传递的数据)
this.$bus.$on('传递的数据的名字', res => {
// 对得到的数据的callback进行处理
})
beforeDestroy () {
this.$bus.$off('传递的数据的名字', {
})
}
import Bus from './Bus'
export default {
data() {
return {
.........
}
},
methods: {
....
Bus.$emit('log', 120)
},
}
import Bus from './Bus'
export default {
data() {
return {
.........
}
},
mounted () {
Bus.$on('log', content => {
console.log(content)
});
}
}
import bus from './vuebus/Bus'
Vue.prototype.Bus = bus
this.Bus.$emit('clickTest', '我在footer点击’)
this.Bus.$on('clickTest', content => {
this.text = content
})
import Vue from "vue"
export default new Vue()
Vue.prototype.bus = new Vue();
this.$bus.$emit('row', row) // ‘row’随意取的名字,取数据要根据这个名字来取, row是data中的数据名
this.$bus.$on('row', res => {
// 通过相同的名字,接收数据,并入callback的数据进行处理
this.Province = res
})
beforeDestroy () {
this.$bus.$off('row', {
})
}
npm install axios --save
main.js
import axios from 'axios’
Vue.prototype.$axios = axios
this.$axios.get('/terms')
.then(this.res1Method).catch((err) => {
this.catchMethod(err)
})
HTTP协议(HyperText Transfer Protocol,超文本传输协议)是因特网上应用最为广泛的一种网络传输协议,所有的WWW文件都必须遵守这个标准。
HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。
cnpm install v-charts --save
除了全量引用echarts,我们还可以采用按需引入的方式
main.js
import VCharts from ‘v-charts’
创建VChartsDemo.vue(在原HelloWorld.vue中修改)
<template>
<div id="vcharts-demo">
<ve-line :data="chartData" ref="chart1"></ve-line>
</div>
</template>
<script type="text/ecmascript-6">
// 引入提示框组件、标题组件、工具箱组件、图例组件。
import 'echarts/lib/component/tooltip'
import 'echarts/lib/component/title'
import 'echarts/lib/component/toolbox'
import 'echarts/lib/component/legendScroll'
// 引入v-charts折线图组件。
import VeLine from 'v-charts/lib/line'
import 'v-charts/lib/style.css'
export default {
components: {
VeLine
},
data () {
return {
chartData: {
columns: ['日期', '销售额-1季度'],
rows: [
{
'日期': '1月1日', '销售额-1季度': 1523},
{
'日期': '1月2日', '销售额-1季度': 1223},
{
'日期': '1月3日', '销售额-1季度': 2123},
{
'日期': '1月4日', '销售额-1季度': 4123},
{
'日期': '1月5日', '销售额-1季度': 3123},
{
'日期': '1月6日', '销售额-1季度': 7123}
]
}
}
},
created () {
// 这是模拟动态数据用的
setTimeout(() => {
this.chartData = {
}
this.chartData = {
columns: ['日期', '销售额-1季度'],
rows: [
{
'日期': '1月1日', '销售额-1季度': 1523},
{
'日期': '1月2日', '销售额-1季度': 1223},
{
'日期': '1月3日', '销售额-1季度': 2123},
{
'日期': '1月4日', '销售额-1季度': 4123},
{
'日期': '1月5日', '销售额-1季度': 3123},
{
'日期': '1月6日', '销售额-1季度': 7123},
{
'日期': '1月7日', '销售额-1季度': 1583},
{
'日期': '1月8日', '销售额-1季度': 1273},
{
'日期': '1月9日', '销售额-1季度': 2163},
{
'日期': '1月10日', '销售额-1季度': 4523},
{
'日期': '1月11日', '销售额-1季度': 3323},
{
'日期': '1月12日', '销售额-1季度': 7223}
]
}
}, 2000)
},
mounted () {
}
}
</script>
<style scoped>
</style>
cnpm install echarts --save
cnpm install [email protected] --save(建议安装低版本)
main.js
import myCharts from './comm/js/myCharts.js'
Vue.use(myCharts)
创建myCharts.js
/**
* 各种画echarts图表的方法都封装在这里
* 注意:这里echarts没有采用按需引入的方式,只是为了方便学习
*/
import echarts from 'echarts'
const install = function(Vue) {
Object.defineProperties(Vue.prototype, {
$chart: {
get() {
return {
//画一条简单的线
line1: function (id) {
this.chart = echarts.init(document.getElementById(id));
this.chart.clear();
const optionData = {
xAxis: {
type: 'category',
data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
},
yAxis: {
type: 'value'
},
series: [{
data: [820, 932, 901, 934, 1290, 1330, 1320],
type: 'line',
smooth: true
}]
};
this.chart.setOption(optionData);
},
}
}
}
})
}
export default {
install
}
创建HelloWorld
<template>
<div class="hello">
<div id="chart1"></div>
</div>
</template>
<script>
export default {
name: 'HelloWorld',
data () {
return {
}
},
mounted() {
this.$chart.line1('chart1');
}
}
</script>
<style scoped>
#chart1 {
width: 300px;
height: 300px;
}
</style>
直接报错"export ‘default’ (imported as ‘echarts’) was not found in ‘echarts’
重新更新echarts等各种方法都试了,还是解决不了问题
最后在Google 查出来一个问题说可能是版本问题,进行校验后发现第一次安装的为5.0,别人的4.9
经测试,echarts 不支持echarts最新版本5.0.0因此引入4.9.0
最后发现只能执行:
cnpm install [email protected] --save
才可以变更为4.9
vue 引入element-ui
vue add element
自动配置插件,只需要这一步即可
在这里插入图片描述
启动前端服务器vue
npm run dev
之后参照官方文档,选取自己需要的样式 ,全部复制(包括template , script , style 先保证可以运行),再进行微调。
npm run build
dist