搭建一个前端项目之前,通常会在项目的根目录下生成一个名为package.json的文件作为NPM包的描述文件,
使用该文件来定义项目信息、配置包依赖关系
在package.json文件中,所有的依赖包都会在 dependencies 和 devDependencies 的配置项中进行管理,
它们的意思是:
dependencies: 表示生产环境下的依赖管理;
devDependencies: 表示开发环境下的依赖管理;
vue脚手架指的是vue-cli,它是一个专门为单页面应用快速搭建繁杂的脚手架,
它可以轻松的创建新的应用程序而且可用于自动生成vue和webpack的项目模板
node_modules:用于存放我们项目的各种依赖,比如axios等等,没有moudles文件,项目就没法运行,
可以使用 npm install进行项目依赖的安装
public:用于存放静态文件
public/index.html:是一个模板文件,作用是生成项目的入口文件,
webpack打包的js,css也会自动注入到该页面中。
我们浏览器访问项目的时候就会默认打开生成好的index.html
src:我们存放各种vue文件的地方
src/assets:用于存放各种静态文件,如图片等
src/compnents:用于存放我们的公共组件,如 header、footer等
src/views:用于存放我们写好的各种页面,如login、main等
src/APP.VUE:主vue模块 引入其他模块,app.vue是项目的主组件,所有页面都是在app.vue下切换的
src/main.js:入口文件,主要作用是初始化vue实例,同时可以在此文件中引用某些组件库或者全局挂在一些变量
src/router.js:路由文件,这个里边可以理解为各个页面的地址路径,用于我们访问,同时可以直接在里边编写路由守卫
src/store.js:主要用于项目里边的一些状态的保存,state中保存状态,mutations中写用于修改state中的状态,
actions异步操作
package.json:模块基本信息项目开发所需要模块,版本,项目名称
package-lock.json:是在 npm install时候生成一份文件,用以记录当前状态下实际安装的各个npm package的具体来源和版本号
babel.config.js:是一个工具链,主要用于在当前和较旧的浏览器或环境中将ECMAScript 2015+代码转换为JavaScript的向后兼容版本
gitignore:git上传需要忽略的文件格式
postcss.config.js:postcss 是帮我们后处理css ,css已经编译完成了,在stylus-loader编译成css之后,在通过postcss优化css,通过一系列组件去优化,比如以下,通过autoprefixer 添加css前缀
vue.config.js:保存vue配置的文件,可以用于设置代理,打包配置等
父传子:在父组件自定义属性名传递数据,在父组件在引入和挂载子组件,在父组件使用它,
在标签上绑定你想传入的数据,在子组件上用props接受数据,并且使用它
子传父: 子:this.$emit(“自定义事件名”,数据) 子组件标签上绑定自定义事件名=“回调函数”
父:methods:{回调函数(){//逻辑处理} }
兄弟通信(需要有共同的父组件):
设定事件中心vue实例 中央通信 let bus = new vue()
A:methods:{函数{bus.$emit(“自定义事件名”,数据)}} 发送
B:created(){bus.$on(“A发送过来的自定义事件名”,函数)} 进行数据接受
r e f s 在 i n p u t 上绑定 i n p u t 1 ,然后在 j a v a s c r i p t 里面这样调用: t h i s . refs 在input上绑定input1,然后在javascript里面这样调用:this. refs在input上绑定input1,然后在javascript里面这样调用:this.refs.input1
$parent
$children
单页面应用是指只有一个主页面的应用,浏览器一开始要加载所有必须的 html, js, css。
所有的页面内容都包含在这个所谓的主页面中,内容较多时首页加载速度比较慢