目录
5. npm install/npm install xxx -S/npm install xxx -D/npm install xxx -g的区别
目标:使用vue-cli来搭建vue项目
测试:(有版本就说明搭建成功,注:用管理员身份打开cmd)
在node_global目录下生成webpack文件(有就成功)
注1:安装成功后,会出现如下文件
根据自己安装的目录来操作 ==> node-v16.14.2-win-x64 ==> node_global ==>
vue vue.cmd vue-init vue-init.cmd vue-list vue-list.cmd
注2:安装完成之后打开命令窗口并输入 vue -V(注意这里是大写的“V”),如果出现相应的版本号,则说明安装成功。
代码案例:
--------------UserInfo.js-------------
<template>
<div>
<div>
<h1>用户中心</h1>
<router-link to="/Logout">注销</router-link>
<router-link to="/Update">修改密码</router-link>
</div>
<div>
<router-view/>
</div>
</div>
</template>
<script>
export default{
name:'UserInfo',
data:function(){
return{
}
},
methods:{
}
}
</script>
<style>
</style>
--------------About.js----------------
<template>
<div>
<h1>关于我们</h1>
</div>
</template>
<script>
export default{
name:'About',
data:function(){
return{
}
},
methods:{
}
}
</script>
<style>
</style>
--------------index.js----------------
import Vue from 'vue'
import Router from 'vue-router'
import HelloWorld from '@/components/HelloWorld'
import Home from '@/components/Home'
import UserInfo from '@/components/UserInfo'
import About from '@/components/About'
import Logout from '@/components/Logout'
import Update from '@/components/Update'
Vue.use(Router)
export default new Router({
routes: [
{
path: '/HelloWorld',
name: 'HelloWorld',
component: HelloWorld
},{
path:'/',
name:'Home',
component:Home,
children:[
{
path:'/UserInfo',
name:'UserInfo',
component:UserInfo,
children:[
{
path:'/Logout',
name:'Logout',
component:Logout
},{
path:'/Update',
name:'Update',
component:Update
}
]
},{
path:'/About',
name:'About',
component:About
}
]
}
]
})
--------------Home.js----------------
<template>
<!-- 有且只有一个根节点 -->
<div>
<h1>{{ts}} - {{msg}}</h1>
<div>
<router-link to="/UserInfo">个人中心</router-link>
<router-link to="/About">关于我们</router-link>
</div>
<div>
<router-view/>
</div>
</div>
</template>
<script>
export default{
name:'Home',
data:function(){//在自定义组件中必须使用函数方式
return{
ts:new Date().getTime(),
msg:'hello Vue!!!'
}
},
methods:{
}
}
</script>
<style>
</style>
效果图:
附录一:vue中import引入模块路径中@符号是什么意思?
例如:import model from "@/common/model",这里路径前面的“@”符号表示什么意思?
答案:@等价于/src这个目录,避免写麻烦又易错的相对路径(根路径)|(.是当前路径)
这个是webpack使用loader里配置的
resolve: {
// 自动补全的扩展名
extensions: ['.js', '.vue', '.json'],
// 默认路径代理
// 例如 import Vue from 'vue',会自动到 'vue/dist/vue.common.js'中寻找
alias: {
'@': resolve('src'),
'@config': resolve('config'),
'vue$': 'vue/dist/vue.common.js'
}
}
附录二:vue.js有著名的全家桶系列
包含了vue-router,vuex, vue-resource,再加上构建工具vue-cli,就是一个完整的vue项目的核心构成。
但在新版本中vue-resource已被axios替代
附录三:npm 删除模块
[npm uninstall xxx]删除xxx模块;
[npm uninstall -g xxx]删除全局模块xxx;