目录
vue-cli这个构建工具大大降低了webpack的使用难度,支持热更新,有webpack-dev-server的支持,相当于启动了一个请求服务器,给你搭建了一个测试环境。
1.0 安装vue-cli
①安装node环境
nodejs下载网址:https://nodejs.org/en/
按照默认的步骤一步步next,安装好之后,打开终端控制台cmd:
node -v、npm -v
如果出现版本号则安装成功。
②安装webpack
全局安装webpack,打开命令行工具输入:npm install webpack -g
或者(npm install -g webpack
),安装完成之后输入 webpack -v
,如下图,如果出现相应的版本号,则说明安装成功。
npm install --global webpack
因为webpack4.X开始,需要安装webpack-cli,当查看webpack版本的时候,会提醒是否安装webpack-cli,输入y即可。
③安装vue-cli
npm install --global vue-cli
安装完成之后输入 vue -V(注意这里是大写的“V”),如下图,如果出现相应的版本号,则说明安装成功。
vue -V
2.0 vue-cli来构建项目
① 我首先在D盘新建一个文件夹(vue_pro)作为项目存放地,然后使用命令行cd进入到项目目录输入:
mkdir vue_pro // 创建vue_pro文件夹
cd vue_pro //进入vue_pro文件夹
vue init webpack sun //初始化vue项目、sun是自定义名称
输入命令后,会跳出几个选项让你回答:
解释:
- Project name (): -----项目名称,直接回车,按照括号中默认名字(注意这里的名字不能有大写字母,如果有会报错Sorry, name can no longer contain capital letters),阮一峰老师博客为什么文件名要小写 ,可以参考一下。
- Project description (): ----项目描述,也可直接点击回车,使用默认名字
- Author (): ----作者,输入你的大名
接下来会让用户选择: - Runtime + Compiler: recommended for most users 运行加编译,既然已经说了推荐,就选它了
Runtime-only: about 6KB lighter min+gzip, but templates (or any Vue-specificHTML) are ONLY allowed in .vue files - render functions are required elsewhere 仅运行时,已经有推荐了就选择第一个了 - Install vue-router? (Y/n) 是否安装vue-router,这是官方的路由,大多数情况下都使用,这里就输入“y”后回车即可。
- Use ESLint to lint your code? (Y/n) 是否使用ESLint管理代码,ESLint是个代码风格管理工具,是用来统一代码风格的,一般项目中都会使用。
接下来也是选择题Pick an ESLint preset (Use arrow keys) 选择一个ESLint预设,编写vue项目时的代码风格,直接y回车 - Setup unit tests with Karma + Mocha? (Y/n) 是否安装单元测试,我选择安装y回车
- Setup e2e tests with Nightwatch(Y/n)? 是否安装e2e测试 ,我选择安装y回车
回答完毕后上图就开始构建项目了。
创建成功:
② 配置完成后,可以看到目录下多出了一个项目文件夹sun,然后cd进入这个文件夹:
安装依赖:
npm install
此时看看sun文件:
3.0启动项目
npm run dev
打开这个网页:http://localhost:8080、成功的话会出现以下页面:
如果浏览器打开之后,没有加载出页面,有可能是本地的 8080 端口被占用,需要修改一下配置文件 config里的index.js:
4.0 vue-cli的webpack配置分析
从package.json
可以看到开发和生产环境的入口。
其他文件的详细解释:vue-cli webpack配置分析 - SegmentFault 思否
5.0 打包上线
自己的项目文件都需要放到 src 文件夹下。在项目开发完成之后,可以输入 npm run build
来进行打包工作。
npm run build
打包完成:
打包完成后,会生成 dist 文件夹,如果已经修改了文件路径,可以直接打开本地文件查看。
项目上线时,只需要将 dist 文件夹放到服务器就行了。