搭建 Vue 项目开发环境
框架,是一套架构,会基于自身特点向用户提供一套相当完整的解决方案,使用者应按照框架规定的某些特定规范进行开发。
在实际开发中,Vue( 框架所规定的一些特定规范 )的引入方式主要有以下 2 种( 二选一 ):
直接用 <script> 标签引入
「 本地 」直接下载并在 HTML 中用
<script>标签引入,Vue会被注册为一个全局变量。<script src="./lib/vue.js"></script> // 本地引入
「 Vue 入门示例 」建议:在开发时,使用开发版本( 而非生产版本 ),遇见常见错误它会给出友好的警告
也就是说,在开发环境下不要使用压缩版本,不然你就失去了所有常见错误相关的警告 !
- 开发版本:包含完整的警告和调试模式
- 生产版本:删除了警告,23.55KB min + gzip
对于生产环境,请确认了解不同构建版本并在你发布的站点中使用生产环境版本,把 vue.js 换成 vue.min.js。
这是一个更小的构建,可以带来比开发环境下更快的速度体验。
「 CDN 」可以是 unpkg?!, 与 npm 的最新版本基本一致;或从 jsdelivr?!或 cdnjs ?!获取( 更新略滞后 )
// 对于制作原型或学习,你可以这样使用最新版本 <script src="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js"></script>
// 对于生产环境,推荐链接到一个明确的版本号和构建文件,以避免新版本造成的不可预期的破坏: <script src="https://cdn.jsdelivr.net/npm/vue@2.6.14"></script>
推荐:使用脚手架工具 vue-cli
vue-cli,是 Vue.js 官方提供的一个官方命令行( CLI )工具,可用于快速搭建大型单页应用。它为现代前端工作流提供了开箱即用的构建设置,只需几分钟即可启动带热重载、保存时静态检查以及可用于生产环境的构建配置的项目。
[1] 确认已经安装好 Node.js 运行环境,安装完成后,可以在命令行中输入以下指令,进行确认
node -v 查看已安装 node 的版本 npm -v 查看当前 npm 的版本 // 说明:npm 是 node 的包管理工具,它在安装运行环境的时候就一起安装好了。
在用 Vue 构建大型应用时,推荐使用 NPM 安装。
NPM 能很好地和诸如 webpack 或 Browserify 模块打包器配合使用。
同时,Vue 也提供配套工具来开发单文件组件。
[2] 全局安装 vue-cli( 命令行工具,又叫脚手架 )
// 全局安装 npm install vue-cli -g // 说明:MAC下使用 sudo npm install -g vue-cli (sudo,即暂时切换到超级用户模式以执行超级用户权限,提示输入密码时该密码为当前用户的密码,而不是超级账户的密码。) // 另,vue-cli的3.0+以后使用的不是vue-cli了,如果用以上的安装命令安装的并不是最新版的3.0+的,而如果安装3.0的话就需要使用新的 npm install @vue/cli -g // vue-cli的版本查看(已安装脚手架工具):vue -V // 卸载原来安装的脚手架:npm uninstall vue-cli -g // vue -h 查看是否具有 vue ui(略,推荐使用命令行)功能(一般是从3.x.x版本开始)
[3] 使用 vue-cli 构建 Vue 项目
Then,( 进入存储目录 )初始化一个基于 webpack?! 模板的 Vue 项目:
vue init webpack vuedemo // vuedemo,项目名称 ? Project name vuedemo ? Project description ilms ? Author webpiece ? Vue build standalone ? Install vue-router? Yes ? Use ESLint to lint your code? No ? Set up unit tests No ? Setup e2e tests with Nightwatch? No ? Should we run `npm install` for you after the project has been created? (recommended) npm // 若导入已有项目,直接进行以下操作即可: 进入项目 cd vuedemo 添加依赖 npm install 启动项目 npm run dev
以下是通过 vue-cli 生成的 Vue 项目结构,其中 src 文件夹是需要掌握的,至于其他相关文件,了解一下即可?!。
