前端项目工具及环境搭建
丑话说在前面,因为本人是后台开发人员,对前端比较好用的工具不是太熟练,例如 VSCode、webstorm
所以此项目前后端都是使用IDEA进行开发的,不过对于前端开发人员还是推荐使用VSCode,因为提示功能强大,编码效率也随之提高不少
安装过程这里就省略了…
查看是否安装成功
安装Vue-Cli脚手架
Vue CLI脚手架中文官网:Vue.js 开发的标准工具
关于旧版本
Vue CLI 的包名称由 vue-cli 改成了 @vue/cli。 如果你已经全局安装了旧版本的 vue-cli (1.x 或 2.x),你需要先通过 npm uninstall vue-cli -g 或 yarn global remove vue-cli 卸载它。
Node 版本要求
Vue CLI 需要 Node.js 8.9 或更高版本 (推荐 8.11.0+)。你可以使用 nvm 或 nvm-windows 在
同一台电脑中管理多个 Node 版本。
可以使用下列任一命令安装这个新的包:
npm install -g @vue/cli
# OR
yarn global add @vue/cli
安装之后,你就可以在命令行中访问 vue
命令。你可以通过简单运行 vue
,看看是否展示出了一份所有可用命令的帮助信息,来验证它是否安装成功。
你还可以用这个命令来检查其版本是否正确:
vue --version
可以使用vue -V查看版本
创建前端项目
启动vue ui控制台
启动之后会自动跳转到浏览器,能看到如下界面:
然后创建项目
选择手动,然后创建项目就到了如下界面:
选项说明
Babel:将ES6编译成ES5
TypeScript:使用TypeScript
Router和Vuex`:路由和状态管理
Linter/ Formatter:代码检查工具
CSS Pre-processors:css预编译
然后继续下一步,看到如下页面:
创建项目可能需要点时间,请耐心等待…
在等待的过程中出现了意外,创建项目很久,你们可以回到vue ui小黑板进行手动加速(自己发现的)
在这里可以多敲几次回车,好像会快很多…
项目创建成功之后会跳转到这个界面:
如果能看到如下界面,那么恭喜你
ESLint是个很烦的东西,不喜欢的可以把它停掉
将项目导入到IDEA中:
将EsLint关闭 Settings >> ESLint
安装Element UI
npm安装
推荐使用 npm 的方式安装,它能更好地和 webpack 打包工具配合使用。
#npm安装组件可能比较慢,建议配置国内加速器(这里以淘宝为例)
npm config set registry https://registry.npm.taobao.org/
npm i element-ui -S
引入 Element
你可以引入整个 Element,或是根据需要仅引入部分组件。我们先介绍如何引入完整的 Element。
在 main.js
中添加
import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'
Vue.use(ElementUI)
全局Axios
安装axios
和vue-axios
:
npm install axios
npm install vue-axios
在main.js
中导入并全局使用axos
和vue-axios
:
import axios from 'axios'
import VueAxios from 'vue-axios'
Vue.use(VueAxios,axios)
Vue.prototype.$axios = axios
注意:使用axios时前面要加上this
,否则会报错:
this.axios.get(url, {
params: {
word: $this.songName
}
})
.then(function (response) {
$this.songList = response.data.result.songs;
console.log(response.data.result.songs)
})
.catch(function (error) {
console.log(error);
});
疑惑
项目运行时netwwork显示unavailable
在vue.config.js文件中加入如下代码:
devServer: {
public: require('os').networkInterfaces()[Object.keys(require('os').networkInterfaces())[0]][1].address + ':8080',
disableHostCheck: true
}
vue-cli
路由
路由出口
<router-view></router-view>
<!-- 取出传递过来的参数 -->
{{this.$route.params.id}}
路由式导航
vue
<router-link to="/header/1">Go to Header</router-link>
index.js
{
path: 'header/:id',
name: 'Header',
compoent: () => import('../components/MyHeader')
}
编程式导航
<button @click="toHeader(1)"></button>
toHeader(id){
this.$router.push({
name: 'Header',
params: {
id: id
}
})
}