Vue-cli的学习记录
一、vue-cli的安装
1、通过npm全局安装vue-cli:
npm install -g vue-cli
2、初始化项目:
//vue init webpack <项目名> vue init webpack vcli //除了 vue-router的安装选择yes,别的都选择no //Should we run `npm install` for you after the project has been created? (recommended) //选择第三个:No, I will handle that myself
3、进入项目目录
//cd <项目名> cd vcli
4、安装模块 ①先安装一个较小的模块,比方说jquery:
npm install jquery
②将生成的node_modules排除:phpstorm中在node_modules上右击选择Mark directory as,然后选择excluded(不然开发工具可能会卡死)
③再安装package.json里所有的模块:
npm install
5、运行项目
npm run dev
在浏览器输入命令行里生成的网址,出现如下的界面则表示vue-cli安装完成了:
二、项目打包上线
通过如下命令可以将我们开发好的项目打包:
npm run build
打包完成后,会在项目的根目录下生成dist文件夹,里面包括一个index.html和static文件夹,这两者需要我们上传到服务器中,配置好网站的相关数据,之后就可以通过我们设定的域名来访问该项目
三、vue-cli目录结构
1、build
由于我们使用的是webpack生成的项目,所以build目录放的是webpack相关的配置文件,因为目前不会webpack,暂且就先不动里面的东西
2、config
config目录里主要放的就是项目相关的配置
①dev.env.js是与开发相关的配置
②index.js是项目的主要配置,(文件里port值为监听的端口号,autoOpenBrowser为是否自动打开浏览器,index为打包生成的index.html所在的路径,assetsRoot为打包所在的目录)
3、node_modules
该目录里放的是项目所有的依赖文件,一开始用npm install安装的所有的文件都在这里
4、src
项目的核心,这里是我们写代码的地方
①assets 放静态资源的地方
②components 放各种组件的地方
③router 配置路由的地方
④App.vue 项目的根组件,会被渲染到项目根目录里的index.html中,一些公共的样式也可以写在里面
⑤main.js 入口文件,引入了vue,根组件App,路由
5、static
该目录下放的是静态资源(图片等)
6、.babelrc
babel编译时的参数
7、.editorconfig
代码格式的相关配置
8、.gitignore
git上传时需要忽略的文件的配置
9、.postcssrc.js
转换css的工具
10、index.html
主页
11、package.json
项目的基本信息
12、README.md
项目的说明文档
四、主要文件的解读
1、index.html
项目的主页,通过url访问项目时默认的访问页面,文件里只定义了一个空的根节点,在生成的页面中,右击查看网页的源代码,会发现比我们在index.html中写的内容多了
<script type="text/javascript" src="[/app.js](http://localhost:8080/app.js)"></script>,这是项目编译自动帮我们生成的,这时候,我们看项目的入口文件main.js
2、main.js
1、用import导入文件时,①如果from后面的不是一个路径,(例‘vue’),就会到项目里的node_modules里寻找vue文件 ②如果from后面是一个路径 (例‘./App’),就会到当前目录下(即src),寻找App.vue文件,如果找不到(例‘./router’),就会到当前目录下寻找router文件夹,如果还找不到,就会报错
2、这里加载的组件名以及模块的名字即components和template之后的名字,会根据导入根组件时命名的名字来决定,打个比方:
import TApp from './App',命名为TApp,那么接下来components和template使用的名字都得改为TApp,即:
components: { TApp },
template: '<TApp/>'
3、这里的template会将组件模块里的内容放到index.html中id为app的标签中
3、App.vue
.vue文件就是一个组件文件,文件内分为三块内容,①以template标签包裹的组件模块,如果模块里有router-view,那么展示的将是该组件下的子组件的内容
②以script标签包裹的导出的组件对象,在这里面可以写数据data,生命周期(mounted等钩子函数),方法methods等等
③以style标签包裹的css样式,默认时影响全局的,即该组件文件写的样式也会影响到别的组件文件里写的内容,如果只想让style里写的样式只在该组件下起作用,那么要在style后面加上scoped,即
<style scoped></style>
4、router文件下的index.js
该文件就是路由的相关配置,先导入的是路由框架,然后再导入路由插件vue-router,(因为vue-router是依赖于路由框架的,所以要先导入路由框架),在导入插件之后,一定要使用Vue.use,代表要使用该插件了,这里就是
Vue.use(Router),之后导入的就是各种各样的组件,例
import HelloWorld from '@/components/HelloWorld'@符表示的就是src文件夹,所以这里导入的就是src文件夹下的components文件夹里的名为HelloWorld的组件,
path: '/', name: 'HelloWorld', component: HelloWorld,
再往下就是定义路由规则,这里定义了一个路径为’/’的路由,对应的组件是HelloWorld组件,该组件会在根组件App.vue中的router-view中渲染
注
如果在路由规则中使用了components,那么就需要给相应的router-view加上name属性
阅读更多- vue-cli学习命令记录
- Vue 学习记录<2>
- 前端学习(八):vue-cli(vue脚手架)超详细教程(添加webpack支持)
- vue-cli 整个流程简单学习
- vue-cli开发web项目所遇到的问题解决办法记录(一)
- vue学习记录——父子组件间传递数据
- vue组件化挖矿之旅(二):vue-cli 项目的学习资料汇总
- vue cli+axios踩坑记录+拦截器使用,代理跨域proxy(更新)
- vue学习记录 第一章 初始vue
- vue+webpack学习记录
- vue学习笔记-使用vue-cli脚手架快速创建vue项目工程
- 学习vue之脚手架安装 - vue-cli
- Vue-cli3项目配置Vue.config.js实战记录
- vue组件化开发初体验-示例vue-loader-example学习记录
- vue学习记录(数据绑定、class,style绑定)
- 学习vue-cli时需要引入外部js库文件(如jquery)的问题,百度后解决了,再次备忘一下
- Vue.js 2.0 学习重点记录
- vue class and style学习(简单记录)
- 记录 vue-cli build 打包之后的问题
- vue的学习记录--环境配置