怎样使用vue-cli快速搭建项目

// 比如添加,或是其他只需要执行一次的复杂作

这次给大家带来怎样使用vue-cli快速搭建项目,使用vue-cli快速搭建项目的注意事项有哪些,下面就是实战案例,一起来看一下。

vue启动命令 vue启动命令在哪看vue启动命令 vue启动命令在哪看


vue启动命令 vue启动命令在哪看


vue启动命令 vue启动命令在哪看


1. 避坑前言

创建vue-cli工程项目时的报错

在网上查了很多资料才发现原来是node版本过低的问题,虽然没有找到对这个“过低”问题的解释,但是根据国外网友的经验之谈,应该是至少使用node6,我将node4更新至node8之后确实没有报错了,顺利搭建。相关答疑帖:

确认node与npm的版本

下面整个过程是基于已经安装node.js和cnpm的基础上,node.js如何安装就不在这里详说了。如何全局化安装cnpm,这里简单提一下:

npm install cnpm -g --registry=

(1)全局安装 vue-cli ,在命令提示窗口执行:

cnpm install -g vue-cli

安装vue-cli

出现以上提示表示vue-cli正常安装成功,可以正式创建vue-cli工程项目了。

(2)安装vue-cli成功后,通过cd命令进入你想放置项目的文件夹,在命令提示窗口执行创建vue-cli工程项目的命令:

创建vue-cli工程项目

确认创建项目后,后续还需输入一下项目名称、项目描述、作者、打包方式、是否使用ESLint规范代码等等,详见上图。安装顺利执行后会,生成如下文件目录:

生成文件目录

(3)生成文件目录后,使用 cnpm 安装依赖:

cnpm install

安装依赖

(4)需要执行命令: npm run dev 来启动项目,启动完成后会自动弹出默认网页:

启动项目

启动项目

默认网页

3.目录结构及其对应作用

通过vue-cli搭建一个vue项目,会自动生成一系列文件,而这些文件具体是怎样的结构、文件对应起什么作用,可以看看下面的解释:

├── build/ # webpack 编译任务配置文件: 开发环境与生产环境

├── config/

│ ├── index.js # 项目核心配置

├ ── node_module/ #项目中安装的依赖模块

── src/

│ ├── main.js # 程序入口文件

│ ├── App.vue # 程序入口vue组件

│ ├── components/ # 组件

│ │ └── ...

├── static/ # 纯静态资源 (直接拷贝到dist/static/里面)

├── test/

│ └── unit/ # 单元测试

│ │ ├── specs/ # 测试规范

│ │ ├── index.js # 测试入口文件

│ │ └── karma.conf.js # 测试运行配置文件

│ └── e2e/ # 端到端测试

│ │ ├── specs/ # 测试规范

│ │ ├── custom-assertions/ # 端到端测试自定义断言

│ │ ├── runner.js # 运行测试的脚本

│ │ └── nightwatch.conf.js # 运行测试的配置文件

├── .babelrc # babel 配置1、用vscode编辑器,里面的终端,然后显示的命令行的东西在编辑器里。这条命令相当于打包编译项目代码并建立了一个本地,可以通过ip+端口访问。文件

├── .editorconfig # 编辑配置文件

├── .gitignore # 用来过滤一些版本控制的文件,比如node_modules文件夹

├── index.html # index.html 入口模板文件

└── package.json # 项目文件,记载着一些命令和依赖还有简要的项目描述信息

└── README.md #介绍自己这个项目的,可参照github上star多的项目。

build/相信看了本文案例你已经掌握了方法,更多精彩请关注Gxl网其它相关文章!

阅读:

JS实现最简单的查找、排序、去重算法

npm用来安装vue.js模块的命令是

`npm inst经过所以在组件中使用时,它相当于下面的简写:一番讨论,终于找到了。all vue`

拓展:

使用npm安装vue.js模块后,可以在HTML文件中引入vue.js,

并可以在其中使用Vue的指令来创建和管理应用的视图层,

从而实现数据的可视化和作。

vue常用14个指令

如果使用 vue-cli3 你需要设置 vue.config.js 内的 devtool 属性:

Vue 中提供了14个比较常用的指令,如

1.v-model :双向数据绑定,

表单元素常用 input select radio checkbox textarea 等,v-model有三个修饰符,例如input元素 v-model.trim去掉输入值的前后空格和v-model.number,将输入的字符串转换为number,v-model.lazy 输入的数据不再实时更新,而是数据失去焦点的时候再更新输入的数据

2.v-show: 元素的显示和隐藏,

频繁作元素的显示和隐藏,就用v-show ,原理是作的dom 的css样式 display的值是true还是false

3.v-if:

元素的显示和隐藏,原理是,是否创建元素的dom,例如表格中某条数据是否显示编辑,删除按钮,由后台传的数据解决的,这种不频繁作的情况可用v-if,v-if 可以加入template标签中判断 v-show 不可以

4.v-else : 和v-if 搭配使用

5.v-else-if :条件满足v-if ?

不满足判断v-else-if 如果还不满足直接走v-else 这个的使用方式和我们的js 中的 if ,else if() ,else 是类似的使用方式

6.v-bind: 绑定

v-bind:class v-bind:style v-bind:attribute v-bind可以省略成:写成 :class :style :attribute

7.v-on :绑定常用

下面的常用去掉on 改为@click:点击某个对象时触发@clickondblclick:双击某个对象时触发@dblclickonmouseover:鼠标移入某个元素时触发@mouseoveronmouseout:鼠标移出某个元素时触发@mouseoutonmouseenter:鼠标进入某个元素时触发@onmouseenter

8.v-for:项目中常用循环数组的指令。

9.v-html :Vue.js 允许你注册自定义指令,实质上是让你教 Vue 一些新技巧:怎样将数据的变化映射到 DOM 的行为。你可以使用Vue.directive(id, definition)的方法传入指令id和定义对象来注册一个全局自定义指令。定义对象需要提供一些钩子函数(全部可选):将字符串html 转换为结构显示,

项目中基本不这种方式去处理,涉及到安全性问题

10.v-text:防止为了{{}} 闪烁问题 项目不常用

11.v-once: 指令指的是元素仅仅绑定一次,只是渲染一次

12.v-cloak:指的是cloak 等元素编译结束以后才会显示dom

13.v-pre :跳过当前元素及子元素的编译过程,先进行编译

14.v-slot:插槽

vue里 npm run build后应该怎么运行

vue init
webpack

输入vue+ui提示vue不是内部或外部命令?

创建一个vue实例

当您在命令行中输入 vue+ui 时,系统提示 vue不是内部或外部命令,这通常意味着您的系统中没有安装Vue CLI或者Vue相关的命令没有正确配置。

sql

vue --version

如果已安装Vue CLI,将会显示Vue CLI的版本号。如果未安装,您可以通过以下命令来全局安装Vue CLI:

npm install -g @vue/cli

检查环境变量配置:如果Vue CLI已安装,但仍然提示 vu// 如果指令这样绑定 v-example="a.b.c",e不是内部或外部命令,则可能是因为系统的环境变量没有正确配置。您可以通过以下步骤检查并配置环境变量:

对于Windows系统:

右键点击 "此电脑" 或 "计算机" 图标,选择 "属性"。

在左侧导航栏中选择 "高级系统设置"。

在 "高级" 选项卡下,点击 "环境变量" 按钮。

在 "系统变量" 部分,查找名为 "Path" 的变量,并确保Vue CLI的安装路径(通常是 C:Users您的用户名AppDataRoamingnpm)已添加到其中。如果没有,可以点击 "新建" 添加该路径。

确认并保存所有对话框。重新打开命令行窗口并运行 vue --version 来验证配置是否成功。

对于macOS或Linux系统:

运行以下命令来编辑 ~/.bashrc 或 ~/.bash_profile 文件(取决于您使用的shell):

bash`nano ~/.bashrc`

或bash`nano ~/.bash_profile`

在文件末尾添加以下行:

bash`export PATH="$PATH:`/usr/local/bin"`

注意:在上述命令中,路径可能因系统而异。请根据您的实际情况调整路径。 4. 保存并关闭文件。重新打开终端窗口并运行 source ~/.bashrc 或 source ~/.bash_profile(取决于您编辑的文件)来使更改生效。然后运行 vue --version 来验证配置是否成功。

如果您按照上述步骤进行作,但问题仍然存在,那么可能还有其他问题导致该错误。在这种情况下,建议您检查您的系统设置、重新安装Vue CLI或寻求进一步的技术支持。

Vue - 指令 - (v-model)

v-model

预期:随着表单控件类型不同而不同。

限制:

修通常来说作为用户,你并不需要关心内置指令的优先级,如果你感兴趣的话,可以参阅源码。逻辑控制指令 v-repeat, v-if 被视为 “终结性指令”,它们在编译过程中始终拥有的优先级。饰符:

在表单控件或者组件上创建双向绑定。细节请看下面的教程链接。

参考:

双向绑定的实质:

这不过是以下示例的语法糖:

所以要让组件的 v}})动态字面指令-model 生效,它应该 (从 2.2.0 起是可配置的):

5.自定义组件的 v-model

默认情况下,一个组件的 v-model 会使用 value prop 和 input 。但是诸如单选框、复选框之类的输入类型可能把 value 用作了别的目的。model 选项可以避免这样的冲突:

Vue.JS的自定义指令应该如何使用

│ └── ...

这次给大家带来Vue.JS的自定义指令应该如何使用,使用Vue.JS的自定义指令的注意事项有哪些,下面就是实战案例,一起来看一下。

使用方法:

bind: 仅调用一次,当指令次绑定元素的时候。

update: 次是紧跟在 bind 之后调用,获得的参数是绑定的初始值;以后每当绑定的值发生变化就会被调用,获得新值与旧值两个参数。

unbind:仅调用一次,当指令解绑元素的时候。

例子:

Vue.directive('my-directive', { bind: function () { // 做绑定的准备工作

}, update: function (newValue, oldValue) { // 根据获得的新值执行对应的更新

// 对于初始值也会被调用一次

}, unbind: function () { // 做清理工作

// 比如移除在 bind() 中添加的

}})一旦注册好自定义指令,你就可以在 Vue.js 模板中像这样来使用它(需要添加 Vue.js 的指令前缀,默认为 v-):

如果你只需要 update 函数,你可以只传入一个函数,而不用传定义对象:

Vue.directive('my-directive', function (value) { // 这个函数会被作为 update() 函数使用})所有的钩子函数会被到实际的指令对象中,而这个指令对象将会是所有钩子函数的this

上下文环境。指令对象上暴露了一些有用的公开属性:

el: 指令绑定的元素

vm: 拥有该指令的上下文 ViewModel

expression: 指令的表达式,不包括参数和过滤器

arg: 指令的参数

raw: 未被解析的原始表达式

name: 不带前缀的指令名

这些属性是只读的,不要修改它们。你也可以给指令对象附加自定义的属性,但是注意不要覆盖已有的内部属性。

使用指令对象属性的示例:

多重从句

同一个特性内部,逗号分隔的多个从句将被绑定为多个指令实例。在下面的例子中,指令会被创建和调用两次:

如果想要用单个指令实例处理多个参数,可以利用字面量对象作为表达式:

Vue.directive('demo', function (value) { console.log(value) // Object {color: 'white', text: 'hello!'}})字面指令

如果在创建自定义指令的时候传入 isLiteral: true ,那么特性值就会被看成直接字符串,并被赋值给该指令的 expression。字面指令不会试图建立数据监视。

例子:

Vue.directive('literal-dir', { isLiteral: true, bind: function () { console.log(this.expression) // 'foo'

然而,在字面指令含有 Mustache 标签的情形下,指令的行为如下:

指令实例会有一个属性,this._isDynamicLiteral被设为true;

如果没有提供update函数,Mustache 表达式只会被求值一次,并将该值赋给this.expression。不会对表达式进行数据监视。

如果提供了update函数,指令将会为表达式建立一个数据监视,并且在计算结果变化的时候调用update。

双向指令

如果你的指令想向 Vue 实例写回数据,你需要传入 twoWay: true 。该选项允许在指令中使用 this.set(value)。

Vue.directive('example', { twoWay: true, bind: function () { this.handler = function () { // 把数据写回 vm

// 这里将会给 `vm.a.b.c` 赋值

this.set(this.el.value)

}.bind(this) this.el.addEventListener('input', this.handler)

}, unbind: function () { this.el.removeEventListener('input', this.handler)

}})内联语句

传入 acceptStatement: true 可以让自定义指令像 v-on 一样接受内联语句:

// will execute the "a++" statement in the owner vm's

// scope.

}})但是请明智地使用此功能,因为通常我们希望避免在模板中产生副作用。

深度数据观察

如果你希望在一个对象上使用自定义指令,并且当对象内部嵌套的属性发生变化时也能够触发指令的 update 函数,那么你就要在指令的定义中传入 deep: true。

Vue.directive('my-directive', { deep: true, update: function (obj) { // 当 obj 内部嵌套的属性变化时也会调用此函数

}})指令优先级

元素指令

有时候,我们可能想要我们的指令可以以自定义元素的形式被使用,而不是作为一个特性。这与 Angular 的 E 类指令的概念非常相似。元素指令可以看做是一个轻量的自定义组件(后面会讲到)。你可以像下面这样注册一个自定义的元素指令:

Vue.elementDirective('my-directive', { // 和普通指令的 API 一致

bind: function () { // 对 this.el 进行作...

}})使用时我们不再用这样的写法:

而是写成:

元素指令不能接受参数或表达式,但是它可以读取元素的特性,来决定它的行为。与通常的指令有个很大的不同,元素指令是终结性的,这意味着,一旦 Vue 遇到一个元素指令,它将跳过对该元素和其子元素的编译 - 即只有该元素指令本身可以作该元素及其子元素。

相信看了本文案例你已经掌握了方法,更多精彩请关注Gxl网其它相关文章!

相关阅读:

怎样在Android开发中与js进行交互

一个用Vue.js 2.0+做出的石墨文档样式的富文本编辑器

用Video.js实现H5直播界面

如何在Vue中建立全局引用或者全局命令

打开终端应用程序。

1 一般在vue中,有很多vue组件,这些组件每个都是一个文件。都可能需要引用到相同模块(或者插件)。我们不想每个文件都import 一次模块。

如果是基于vue.js编写的插件我们可以用 Vue.use(...)

2 但是如果想添加一个全局命令,同时又让每个vue的文件都能用到怎么办?

步:建立一个全局的命令文件例如:directive/directive.js

第二步:利用Vue.directive()建立一个全局命令,并将它暴露出来,例如一个focus 让表单自动聚焦

directive其实这次使用vue-cli的过程并不顺利,反复尝试几次都遇到以下这个报错:.js

第三部步:在main.js(入口JS文件)中将它引入,可以省略文件后缀

这样任何一个Vue文件只要这样v-focus(命令名),就可以很方便的用到了

于是我们可以用到'mixins'混合命令,你建立一个专门的文件夹用于存放混合命令,例如:

mixins.js

比如 seScrollPosition (不是vue中的seScrollPosition)可以每次在路由跳转之间保存住浏览位置信息

注意:vue2.0 中 路由跳转之间会自动保存位置信息 但是有Bug(位置信息之间会相互干扰)。

所以我们从新写一个seScrollPosition暴露出去后,在你需要的页面中混入

这样就会很方便。

例如:我想全局引用axios,我们可以这样

然后this.$.get() 等等

xxx.vue

5 将需要的变量挂在到window对象上

例如:第三方库Lodash.js,moment.js等等

xxx.vue

注意:这种方式不适合服务端渲染,服务端并没有window对象

强调一点:以上所有的引入都必须通过入口JS文件去引入,这样才能适用于全局

vue文件怎么打开成网页

npm run dev是在开发模式下运行项目,可以加载一些调试的模块如hotload;

1、使用Vue-cli工main.js具,首先需要通过Node.js进行安装,安装完成后,进入开发目录,输入以下命令进行安装:npminstall-gvue-cli安装完成。

2、之后使用Vue-cli创建一个基础的Vue.js项目。

3、在Vue.js的开发目录下,命令行工具中输入以下命令:npmrunbuild,将会自动创建一个dist目录,其中包含了已编译好的Vue.js代码和依赖文件,只需要将该目录下的文件上传至,即可将Vue.js转换为网页。

安装@vue/cli之后,'vue' 不是内部或外部命令,也不是可运行的程序

Vue.directive('my-directive', { acceptStatement: true, update: function (fn) { // the passed in value is a function which when called,

1.@vue/cli的安装

要解决这个问题,您可以按照以下步骤进行作:

执行npm install -g @vue/cli 或者yarn global add @vue/cli

2.@vue/cli安装完成

3.检查@vue/cli是否安装成功

执行vue --version,看到如下图的结果

4.如果提示:'vue' 不是内部或外部命令,也不是可运行的程序 该如何解决?

一般出现这个问题,是因为没有配置全局变量

4.1npm config list 查看一下npm 的配置信息,如下图:

4.2找到上图红色框里面的路径,看看有没有vue.cmd的文件,然后把这个路径添加的系统环境变量的path里面,如下图:

4.3重新打开cmd窗口执行vue --version,看看是否成功

怎么才能不打开命令行npm run serve就使用vue脚手架?

│ └── assets/ # 资源确保Vue CLI已安装:首先,您需要确认您的系统上是否安装了Vue CLI。您可以通过运行以下命令来检查是否已安装Vue CLI:文件夹,一般放一些静态资源文件

2、如果已经开发好,可以npm run build打包,一般在dist目录就生成打包后的文件,直接访问index.html就可以了。