从零到一详聊创建Vue工程及遇到的常见问题

准备工作

1.判断是否需要FQ或安装镜像,镜像一般可安装国内淘宝镜像,详情可看这里:cnpm

npm install -g cnpm --registry="cnpm"全局安装淘宝cnpm。

2.开发工具选择很多,VUE无专用开发工具,开发项目多以SPA形式体现,本例使用 Visual Studio Code。

3.调试工具选择很多,官方推荐 vue-devtools 。

安装方法:FQ或者github主页。https://github.com/vuejs/vue-devtools下载压缩包,解压到Chrome扩展程序。

环境搭建

1.安装 Node.js 10.15.3, npm包管理工具(高版本node.js自带npm)。

安装完成后,DOS命令行输入命令检查安装情况npm -v,出现npm版本号即可。

下载地址https://nodejs.org/en/download/

2.全局安装 vue-cli脚手架

DOS命令行安装(-g 参数表示安装至 npm 工作路径,以后任意位置均可访问)

npm install -g vue-cli

3.安装 开发工具 Visual Studio Code

1.下载地址 https://code.visualstudio.com/Download

注意 User Installer / System Installer 不同(建议安装系统版本)

2.安装 Vetur ,vue 2 snippets插件

文件 -> 首选项 -> 扩展 -> 搜索 -> 输入 Vetur/vue 2 snippets -> 安装

3.安装 语言包(视个人喜好)

文件 -> 首选项 -> 扩展 -> 搜索 -> 输入 Chinese(Simplified)... -> 安装

4.打开文件夹... 开发已存在项目

4.安装 vue-devtools。

1.下载 https://github.com/vuejs/vue-devtools

2.DOS 命令进入解压后目录

修改 \shells\chrome\manifest.json中 background 节点 persistent 值为 true

3.运行 npm install 命令安装依赖包。

进度条等待完成,大约5-15分钟,必要使用cnpm

4.运行 npm run build(一定要执行这步,不然后面会报错)

5.启动 Google Chrome -> 输入 chrome://extensions/ -〉确认打开“开发者模式” -> 加载已解压扩展程序 -> 选择 shells\chrome 确定即可安装

初始化项目

初始化项目有多种方式,建议采用 Webpack 模板模式

1.进入需要创建Vue项目文件夹,打开DOS命令行输入:vue init webpack 项目名称

2.然后终端会出现下图“一问一答”模式

“Project name”:这个是项目名称,默认是输入时的那个名称,想改的话直接输入修改,也可以直接回车

“Install vue-router”:是否需要vue-router,这里默认选择使用,这样生成好的项目就会有相关的路由配置文件

“Use ESLint to lint your code”:是否使用ESLint,刚才说了我们这个项目需要使用所以也是直接回车,默认使用,这样会生成相关的ESLint配置

“Setup unit tests with Karma + Moch?”: 是否安装单元测试。由于我们现在还没有单元测试,所以这里选择的是”N”

“Setup e2e tests with Nightwatch”:是否安装e2e测试,这里我也同样选择的是“N”

3.下载依赖包

cd ‘项目文件' 终端执行命令:npm install .这个过程会生成一个node_modules 文件夹

4.调试项目

终端输入:npm run dev/start

5.打开Google Chrome ,默认项目地址:localhost://8080,访问即可。F12启用开发者调试工具,调试菜单栏选择 Vue

开发过程

1.相关文件说明

build和config >webpack配置相关文件

node_modules>项目需要的模板文件

src/main.js>入口js文件

src/assets>公共的样式,图片文件

src/components>各种vue组件文件

src/App.vue>页面主组件

src/router>vue-router 路由配置文件

static>静态资源文件(不会被webpack处理)

.eslintrc.js>eslint检查配置文件

.editorconfig>代码编辑环境配置文件

.eslintignore>eslint检查忽略文件

.babelrc>babel编译参数配置文件

index.html>主页,项目入口文件

package.json>项目配置文件,描述项目信息和依赖

README.md>项目的说明文档

2.新增组件

在 \src\components 目录新建 vue 文件(每一个.vue文件都是一个单独vue组件,用来实现页面特定的功能界面,包括基本的骨架html+CSS+js)。例如 Hellovue.vue,vue文件代码标准模板样式如下:

  <template>
    <div id="...">
      组件html模板
    </div>
    </template>

    <style>
      css相关样式
    </style>

    <script>
    export default { //默认向外暴露一个对象
      name:'Hellovue',
      data () {
        return {};// data保存数据必须返回一个对象
      }
    };
    </script>

1.引入组件

1.在App.vue主文件中script标签添加import Hellovue form ./components/Hellovue.vue导入子组件。

2.组件模板对象添加components属性。

3.重启项目即可看到自己定义的组件。

4.新增页面(利用vue路由实现)在 \router\index.js 添加新增页面路由

import Hellovue from '@/components/Hellovue'
...
  {
   path: '/Hellovue',
   name: 'Hellovue',
   component: Hellovue
  }

在App.vue主页面挂载<router-link to='Hellovue'>跳转我的页面</router-link>即可

1.打包编译

终端运行命令编译

npm run build

即可产品dist文件,项目上线后只需把dist文件丢到服务器即可。ps:如果本地测试,则需修改webpack生产环境下的assetsPublicPath配置

注意事项:

1.最好使用cnpm代替npm安装依赖,因为开发过程中少部分包如果用npm是无法下载完成,一直卡住,换为cnpm毫无压力记得加上--save选项,否则别人安装的话会缺少包.

2.路径说明

‘/‘, 表示项目根目录

‘./‘,表示当前目录

‘../‘ ,表示上一级目录,可以连续多个,比如‘../../../‘表示往外层退3级目录

3.所有组件的数据都必须放置在data函数返回的对象中,无论是否有数据,否则会报错。
4.一个template组件下只能有一个并列的div,否则报错。

5.ESLint 格式问题

1.vue 创建项目时,ESLint 选择启用时候,因 ESLint 代码检查极其严格,缩进空格数量,尾部空行等皆在检查之列,可以选择关闭。

build/webpack.base.conf.js 注释掉 module->rules 中 ESLint 规则,关闭代码:

//...(config.dev.useEslint ? [createLintingRule()] : []),

规范起见,修改 .eslintrc.js 文件 rules 节点,关闭指定格式检查。

例如'semi': ['off', 'always'], 需要分号的地方即录入,否则 ESLint 强制检查不录入分号。说明参照https://eslint.org/docs/rules/semi。随后重新 npm run dev 即可。完整说明参照https://github.com/standard/standard/blob/master/docs/RULES-zhcn.md。或者在.eslintignore文件下配置相关忽略ESlint检查的文件格式,如:*.js,eslint则默认忽略根目录下所有的js文件。

2.Tab Size 调整

多数开发工具 Tab Size 默认 4,ESLint 默认 2,需要将开发工具 Tab Size 默认值调为2或关闭 ESLint

3.VUE 脚本结束标志 </script> 或者.vue文件结尾</style>不能作为文件结尾,其后必须另起一行写入其它代码,必要时插入空行.

常见问题:

1.npm run dev 提示 webpack-dev-server --inline --progress --config build/webpack.dev.conf.js

not found module ‘xxx'

原因:依赖库不完整
方案:项目所在目录运行 npm install xxx -S 安装相关依赖包,或按照如下指定安装相关版本,npm install xx@版本号 -S。

2.安装插件提示 npm WARN rollback Rolling back ...... failed (this is probably harmless): EPERM: operation not permitted

原因:npm 权限不足

方案:安装所在目录设置权限

npm config set user 0
npm config set unsafe-perm true

3.npm run build 后,打包生成的dist文件本地测试发现404错误。

原因:本地测试当前文件默认路径以‘./'开头,vue配置文件中默认以‘/'开头

方案:设置config/index.js中assetsPublicPath属性值为‘./'

vue项目启动原理

1.读取 package.json 文件 scripts 内部节点,例 start / build / dev 节点,根据节点值获得相应启动参数

2.Webpack配置项目入口文件,出口文件名。

在.\build\webpack.base.conf.js文件配置入口文件module.exports.entry值即项目总入口,默认为 ./src/main.js。

在config/index.js文件中build对象assetsRoot中配置打包后文件名。

3../src/main.js。页面入口js文件,实例化一个Vue,平且引入vue和主入口组件。componens和template属性缺一不可。

new Vue({
 el: '#app',
 router,
 components: { App }, // 定义组件映射
 template: '<App/>'  // 定义组件模板
})

1.打包项目提交到Svn或github注意不要提交node_modules文件夹,以免造成资源浪费

附件

1.帮助文档

vuex状态管理库:https://vuex.vuejs.org/zh/guide/

vue中文网:https://cn.vuejs.org/

vue-axioshttps://www.npmjs.com/package/vue-axios

vue-routerhttps://router.vuejs.org/zh/

webpack中文网https://www.webpackjs.com/

2.安装 cnpm 淘宝镜像避免FQ

npm install -g cnpm --registry=https://registry.npm.taobao.org

完成后安装相关命令可用 cnpm 代替 npm。

淘宝镜像包与原包存在一定差异,避免莫名其妙问题起见,尽量使用原包命令 npm 安装,可以使用 hosts FQ模式。

3.依赖包出错删除重装

删除全局包

npm uninstall -g 包名

删除本地包

npm uninstall 包名

不成功可以采用 remove 代替 uninstall

4.引用外部 js

引用外部 js 有全局引用、VUE 外部引用、VUE 内部引用等多种方法

1.内部引用

A. 安装模块至项目目录(jQuery案例)

npm install jquery --save

B. 确认 package.json dependencies 节点已添加依赖
"jquery": "^3.3.1",

C. Vue 文件直接引用

import $ from 'jquery'

2.全局引用

A. 在package.json中添加依赖文件dependencies:{"jquery":"^2.2.1"} //可以自己指定版本

B. 重新安装项目依赖cnpm install

c. 在webpack.base.conf.js中module.exports中提供一个全局变量:$

总结

以上所述是小编给大家介绍的从零到一详聊创建Vue工程及遇到的常见问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

(0)

相关推荐

  • 搭建element-ui的Vue前端工程操作实例

    一.安装npm镜像 (1)下载node.js, 配置node.js的环境变量 检测PATH环境变量是否配置了Node.js,点击开始=>运行=>输入"cmd" => 输入命令"path" 检查Node.js版本 在命令窗口输入:npm install -g cnpm –registry=https://registry.npm.taobao.org 二.安装全局vue-cli (1)npm install -g vue-cli 回车,验证是否安装成

  • 详解从零搭建 vue2 vue-router2 webpack3 工程

    以新手视角,详细介绍各个步骤内容,不深入讲步骤涉及的原理,主要介绍如何操作. 初始化工程 新建工程目录 vue2practice,在目录下执行npm init -y来创建一个 package.json,在 package.json 中先添加以下必备模块: { "name": "vue2-vue-router2-webpack3", "version": "1.0.0", "devDependencies":

  • vue使用vue-cli快速创建工程

    本文介绍了vue使用vue-cli快速创建工程,分享给大家,具体如下: vue-cli安装 npm i vue-cli -g vue init webpack-simple vue-todos vue-cli 是一个官方发布 vue.js 项目脚手架,使用 vue-cli 可以快速创建 vue 项目. -g代表全局安装. i就是install的缩写. 其中webpack-simple代表模板的名称.vue-todos是你给自己的项目起的名称,这个随便起. 配置完成后,可以看到目录下多出了一个项目

  • Vue工程模板文件 webpack打包配置方法

    1.github github地址:https://github.com/MengFangui/VueProjectTemplate 2.webpack配置 (1)基础配置webpack.base.config.js const path = require('path'); //处理共用.通用的js const webpack = require('webpack'); //css单独打包 const ExtractTextPlugin = require('extract-text-webp

  • 详解如何使用webpack打包Vue工程

    使用webpack打包Vue工程 前言 入行一年,从什么都不懂的小白,到现在什么都懂一点的小白,也算是飞跃了.感叹一下现在的前端,从nodejs出来到现在各种各样的工具如雨后春笋般的出现.大神们疯狂的造轮子,玩的不亦乐乎.我等小白们,疯狂追赶,学的心肝脾肺都快衰竭.而我的精力也仅限浅尝辄止,但是学多一点总有好处的.本篇文章就是介绍如何使用webpack构建前端工程. 目标 本次的工程以Vue.js为主角,Vue.js是一款小巧优雅而且强大的轻量级mvvm框架,配合webpack模块化打包.制作出

  • 从零到一详聊创建Vue工程及遇到的常见问题

    准备工作 1.判断是否需要FQ或安装镜像,镜像一般可安装国内淘宝镜像,详情可看这里:cnpm npm install -g cnpm --registry="cnpm"全局安装淘宝cnpm. 2.开发工具选择很多,VUE无专用开发工具,开发项目多以SPA形式体现,本例使用 Visual Studio Code. 3.调试工具选择很多,官方推荐 vue-devtools . 安装方法:FQ或者github主页.https://github.com/vuejs/vue-devtools下载

  • node创建Vue项目步骤详解

    vue的安装 Vue.js不支持IE8及以下版本.因为Vue.js使用了ECMAScript5特性,IE8显然不能模拟. Vue.js支持所有兼容ECMAScript5的浏览器. 在用Vue.js构建大型应用时,推荐使用npm安装,npm能很好的和webpack等打包工具配合使用. 首先Vue的安装依赖于node.js,要保证你的计算机上已经安装过node.js. 如何查看node是否安装或者node版本呢? 进入cmd,输入命令 node -v,回车查看.node最好使用新一些的版本,否则后续

  • 详解auto-vue-file:一个自动创建vue组件的包

    auto-vue-file auto create .vue file by shell command 通过终端自动创建vue文件 前言: 1: 我们在写xxx.vue页面文件的时候,一般都要写这些重复的代码: <template> <div class="zlj-comp-ct"> zlj组件 </div> </template> <script> export default { name: 'zlj' } </s

  • 基于脚手架创建Vue项目实现步骤详解

    第一步 准备工作 1.下载安装Node.js 验证是否安装的方法,在命令行输入node -v 2.安装Vue 在命令行输入npm install -g @vue/cli 查看Vue版本号 npm vue --version 如果Vue版本太低,先卸载Vue低版本 npm uninstall vue-cli -g 第二步 创建Vue项目 1. 打开要创建路径 2-1.vue CLI3版本输入vue create test创建名为test的项目 接下来会问你一系列的问题 Please pick a

  • 详解为什么Vue中不要用index作为key(diff算法)

    前言 Vue 中的 key 是用来做什么的?为什么不推荐使用 index 作为 key?常常听说这样的问题,本篇文章带你从原理来一探究竟. 另外本文的结论对于性能的毁灭是针对列表子元素顺序会交换.或者子元素被删除的特殊情况,提前说明清楚,喷子绕道. 本篇已经收录在 Github 仓库,欢迎 Star: https://github.com/sl1673495/blogs/issues/39 示例 以这样一个列表为例: <ul> <li>1</li> <li>

  • 详解在Vue.js编写更好的v-for循环的6种技巧

    在VueJS中,v-for循环是每个项目都会使用的东西,它允许您在模板代码中编写for循环. 在最基本的用法中,它们的用法如下. <ul> <li v-for='product in products'> {{ product.name }} </li> </ul> 但是,在本文中,我将介绍六种方法来使你的 v-for 代码更加精确,可预测和强大. 让我们开始吧. 1.始终在v-for循环中使用key 首先,我们将讨论大多数Vue开发人员已经知道的常见最佳做

  • 详解Django+Vue+Docker搭建接口测试平台实战

    一. 开头说两句 大家好,我叫林宗霖,是一位测试工程师,也是全栈测开训练营中的一名学员. 在跟着训练营学习完Docker容器技术系列的课程后,理所应当需要通过实操来进行熟悉巩固.正好接口自动化测试平台需要迁移到新的测试服务器上,就想要体验一番Docker的"一次构建,处处运行".这篇文章简单介绍了下这次部署的过程,其中使用了Dockerfile定制镜像和Docker-Compose多容器编排. 二. 项目介绍 项目采用的是前后端分离技术来实现的,前端是Vue+ElementUI,后端是

  • 详解从vue的组件传值着手观察者模式

    观察者模式 首先,提到观察者模式,这不禁让我想到了MVVM,MVVM架构模式感觉用到了观察者的思想. 我们还是按照惯例,了解一下什么是观察者模式 观察者模式,类似发布订阅模式,完成这个动作首先最少得有两个不同的对象,或者多个对象,他更像是一种一队多的依赖关系,也就是一种对象的状态发生改变,与其相关所有的对象的状态都会发生改变:比如说朋友圈这个功能,一个人可能有上百个好友,当我发布一条朋友圈后,所有和我成为好友的人都会看见这个朋友圈,当另一个人点赞后,所有你的好友其他点赞的人也会收到通知,这很像观

  • 详解为什么Vue中的v-if和v-for不建议一起用

    本文主要介绍了为什么v-if和v-for不建议一起用?分享给大家,具体如下: 一.作用 v-if 指令用于条件性地渲染一块内容.这块内容只会在指令的表达式返回 true值的时候被渲染 v-for 指令基于一个数组来渲染一个列表.v-for 指令需要使用 item in items 形式的特殊语法,其中 items 是源数据数组或者对象,而 item 则是被迭代的数组元素的别名 在 v-for 的时候,建议设置key值,并且保证每个key值是独一无二的,这便于diff算法进行优化 两者在用法上 <

  • 详解本地Vue项目请求本地Node.js服务器的配置方法

    目录 1.使用vue-cli脚手架搭建vue项目 2.使用koa搭建node后端 3.Vue项目中添加后端请求 参考资料: 前言:本文只针对自己需要本地模拟接口于是搭建一个本地node服务器供自己测试使用,仅作自己从头到尾搭建项目的记录 1.使用vue-cli脚手架搭建vue项目 1.在桌面运行 cmd,使用命令vue create demo创建一个vue项目demo,插件依赖等使用默认配置2.项目创建成功之后,使用命令 cd demo,进入 demo 文件夹,然后使用命令 npm run se

随机推荐