如何运行一个Vue项目

 

一开始很多刚入手vue.js的人,会扒GitHub上的开源项目,但是发现不知如何运行GitHub上的开源项目,很尴尬。通过查阅网上教程,成功搭建好项目环境,同时对前段工程化有了朦朦胧胧的认知,因此将环境搭建过程分享给大家。

首先,列出来我们需要的东西:

node.js环境(npm包管理器)
vue-cli 脚手架构建工具
cnpm  npm的淘宝镜像

安装node.js

安装需要安装v10.15.3稳定版本,不要安装v12.0.0版本,目前使用最新的版本运行项目是会报错。

 

从node.js官网下载并安装node,安装过程很简单,一路“下一步”就可以了(傻瓜式安装)。
安装完成之后,打开命令行工具,输入 node -v,如下图,如果出现相应的版本号,则说明安装成功。

 

npm包管理器,是集成在node中的,所以,直接输入 npm -v就会如下图所示,显示出npm的版本信息。

 

OK!node环境已经安装完成,npm包管理器也有了。由于有些npm有些资源被屏蔽或者是国外资源的原因,经常会导致用npm安装依赖包的时候失败,所有我还需要npm的国内镜像---cnpm。

安装cnpm

在命令行中输入 npm install -g cnpm --registry=http://registry.npm.taobao.org 然后等待,安装完成如下图。

 

完成之后,我们就可以用cnpm代替npm来安装依赖包了。如果想进一步了解cnpm的,查看淘宝npm镜像官网。

安装vue-cli脚手架构建工具

在命令行中运行命令 cnpm install -g vue-cli ,然后等待安装完成。(注意,这里使用cnpm来替代npm,不然速度超级慢,会导致卡在那)
通过以上三部,我们需要准备的环境和工具都准备好了,接下来就开始使用vue-cli来构建项目。

 

查看vue-cli版本: vue -V (大写的V)

用vue-cli构建项目

要创建项目,首先我们要选定目录,然后再命令行中把目录转到选定的目录。

在桌面目录下,在命令行中运行命令 vue init webpack firstVue 。解释一下这个命令,这个命令的意思是初始化一个项目,其中webpack是构建工具,也就是整个项目是基于webpack的。其中firstVue是整个项目文件夹的名称,这个文件夹会自动生成在你指定的目录中(我的实例中,会在桌面生成该文件夹),如下图。

运行初始化命令的时候回让用户输入几个基本的选项,如项目名称,描述,作者等信息,如果不想填直接回车默认就好。

打开firstVue文件夹,项目文件如下所示。

 

这就是整个项目的目录结构,其中,我们主要在src目录中做修改。这个项目现在还只是一个结构框架,整个项目需要的依赖资源都还没有安装,如下图。

 

安装项目所需的依赖

要安装依赖包,首先cd到项目文件夹(firstVue文件夹),然后运行命令 cnpm install ,等待安装。

 

安装完成之后,会在我们的项目目录firstVue文件夹中多出一个node_modules文件夹,这里边就是我们项目需要的依赖包资源。

 

安装完依赖包之后,就可以运行整个项目了。

运行项目

在项目目录中,运行命令 npm run dev ,会用热加载的方式运行我们的应用,热加载可以让我们在修改完代码后不用手动刷新浏览器就能实时看到修改后的效果。

这里简单介绍下 npm run dev 命令,其中的“run”对应的是package.json文件中,scripts字段中的dev,也就是 node build/dev-server.js命令的一个快捷方式。

项目运行成功后,浏览器会自动打开localhost:8080(如果浏览器没有自动打开,可以手动输入)。运行成功后,会看到如下所示的界面。

 

如果看到这个页面,说明项目运行成功了。

 

 

 

 

 

踩坑注意:

安装需要安装v10.15.3稳定版本,不要安装v12.0.0版本,目前使用最新的版本运行项目是会报错。

如果安装v12.0.0版本报了这个错误就卸载后重新安装v10.15.3版本就可以了。

 

 

查看版本:

查看node版本: node -v

查看npm版本:npm -v

查看cnpm版本:cnpm -v

查看vue-cli版本:vue -V (大写)   vue --version

查看webpack版本:webpack -v

 

 

 

vue-cli 3.+版本 

vue-cli 3.+版本使用新的命令构建项目,目录结构也和之前的有所不同

 

npm create my-app

cd my-app

npm sun serve

 

转载于:https://www.cnblogs.com/panchanggui/p/10783074.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/462748.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Hibernate初学之CURD

Hibernate初学之CURD 以前学过JDBC的增删改查,感觉挺方便的,用hibernate框架则会更加简便, 关于hibernate的增删改查模块,我感觉用代码解释再合适不过了; 首先是导包问题:应用hibernate需要导十个包&#x…

计算机网络读书笔记(1)

传输控制协议TCP最主要特点: 1、 面向连接的传输层协议,类似于打电话 2、 点对点(一对一),每一条TCP只能有两个端点 3、 提供可靠交付的服务 4、 全双工通信 5、 面向字节流(所谓流:流入到…

网卡驱动收发包过程图解

网卡 网卡工作在物理层和数据链路层,主要由PHY/MAC芯片、Tx/Rx FIFO、DMA等组成,其中网线通过变压器接PHY芯片、PHY芯片通过MII接MAC芯片、MAC芯片接PCI总线 PHY芯片主要负责:CSMA/CD、模数转换、编解码、串并转换 MAC芯片主要负责&#x…

在c++中,如果派生类没有重写基类中对应virtual函数会怎样?

在c中&#xff0c;如果一个派生类没有重写基类中对应的虚函数&#xff0c;那么在派生类的构造函数中依然会创建虚指针&#xff0c;但是该虚指针指向的是基类的虚表。 #include <iostream> #include <string>class Base { public:virtual void foo() {std::cout &l…

哪些类继承了Collection接口

Collection集合的基本结构&#xff1a; 1、Collection接口 Collection是最基本集合接口&#xff0c;它定义了一组允许重复的对象。Collection接口派生了两个子接口Set和List&#xff0c;分别定义了两种不同的存储方式&#xff0c;如下&#xff1a; 2、 Set接口 Set接口继承于Co…

在c++中一个空类占用的字节数

结论&#xff1a; 在c中一个空类占用&#xff1a;1Byte。 有的同学认为一个空类占0Byte&#xff0c;那么定义一个空类时&#xff0c;他存放到哪里呢&#xff1f;为此&#xff0c;在c编译器中&#xff0c;为空类设置了占用1Byte内存。 #include <iostream> // std::c…

使用Mule ESB与Groovy编排RESTful服务【转】很适合我们当前的架构

http://www.infoq.com/cn/articles/restful-services-mule 在过去几年中&#xff0c;REST风格的软件架构获得了越来越多的认可&#xff0c;这主要是因为它减少了系统对动件的需求、同时使系统耦合性更低&#xff0c;弹性更好。 目前越来越多的REST资源出现在企业应用中&#xf…

Starling框架帮助手册中文版(PDF下载)

什么是Statling&#xff1f;Starling 是一个基于Stage3D&#xff08;这是Flash Player11及Adobe AIR 3中新增的为3D加速功能所提供的API&#xff09;所开发的一个能够使用GPU来加速的2D Flash应用程序的ActionScript3框架。Starling主要是为游戏开发而设计的, 但是它的用途不仅…

园区网VLAN应用实例

园区环境&#xff1a;一台核心路由器&#xff0c;一台核心交换机&#xff1b;四台汇聚层交换机&#xff1b;四台接入层交换机&#xff08;可根据实际需求和带宽的大小增加接入层的数量&#xff09;——接入层下接入大量的PC机。技术要求&#xff1a;通过VLAN的划分及VTP的设置实…

GMF 教程 Mindmap 5

2019独角兽企业重金招聘Python工程师标准>>> 这一部分主要实现的是&#xff1a; 使用扩展的Plug-in为我们的Diagram添加一个自定义动作 Creating a Customization Plug-in 尽管可以给生成的代码添加备注generated NOT来避免下次重新生成代码时覆盖我们修改的代码…

Jmeter(四十二)_控制器下遍历一组参数

概述 在接口自动化的过程中&#xff0c;经常遇到需要遍历的参数组。jmeter在中&#xff0c;foreach控制器可以实现遍历参数&#xff0c;但是只能有一个入参。一旦遇到数组&#xff0c;foreach控制器表示我也无能为力。。。 为了解决这个问题&#xff0c;今天教大家一个实现数组…

JS 停留几秒后返回上一页

2019独角兽企业重金招聘Python工程师标准>>> <script type"text/javascript" language"javascript"> var i 5; intervalid setInterval("fun()", 1000); function fun(){if(i0){history.go(-1);clearInterval(intervalid);}i…

spring boot 分布式锁组件 spring-boot-klock-starter

基于redis的分布式锁spring-boot starter组件&#xff0c;使得项目拥有分布式锁能力变得异常简单&#xff0c;支持spring boot&#xff0c;和spirng mvc等spring相关项目 快速开始 spring boot项目接入 1.添加lock starter组件依赖&#xff0c;目前还没上传到公共仓库&#xff…

std::string中的find_first_of()和find_last_of()函数

编程语言: c/linux 在std::string中&#xff0c;有时需要找到一个string中最后一个或者第一个以某个特定的字符开始的位置或者下标&#xff0c;这时就需要使用find_first_of()和find_last_of()函数。 find_first_of() &#xff1a; 找到一个string中第一个以 某个 字符开始的…

【学习笔记4】Action名称的搜索顺序

2019独角兽企业重金招聘Python工程师标准>>> 1&#xff0e;获得请求路径的URI&#xff0c;例如url是&#xff1a;http://server/struts2/path1/path2/path3/test.action 2&#xff0e;首先寻找namespace为/path1/path2/path3的package&#xff0c;如果不存在这个pac…

std::map中的lower_bound与upper_bound

最近在工作中遇到了std::map中的lower_bound与upper_bound&#xff0c;再次记录下其功能和使用方式。 std::map<char, int> mp; mp.lower_bound<key> &#xff1a; 返回的是第一个大于、等于key的iterator&#xff0c;如果没有则返回空。 mp.upper_bound<key…

IoC容器Autofac(3) - 理解Autofac原理,我实现的部分Autofac功能(附源码)

上篇文章中&#xff0c;举了一个Autofac的简单例子&#xff0c;园友eflay反应: “虽然对autofac架构原理还是完全不懂&#xff0c;不过基本是明白ioc的用途了&#xff0c;会从已注册的类中找出符合接口的类来调用构造函数进行构造” 所以这篇文章&#xff0c;还是针对上次的例子…

[置顶] 我的iOS作品

我的iOS作品 罗朝辉 ( http://blog.csdn.net/kesalin)CC 许可&#xff0c;转载请注明出处前言 做了好几年的 iOS 开发了&#xff0c;业余也零零散散地写了不少代码和博文教程。可惜一直都没有整理下&#xff0c;上次过年回家在张江广兰路把笔记本给丢了&#xff0c;损失惨重&am…

SSM框架搭建

SSM&#xff08;SpringSpringMvcMybatis&#xff09;项目环境搭建&#xff1a; 1、项目环境&#xff1a; jdk-1.8 tomcat-9.0 mysql-5.1.44 spring 5.1.6 mybatis 3.5.1 maven 3.5.42、项目目录结构&#xff1a; 3、pom.xml中引入的依赖&#xf…

制作Slider组件

利用as3&#xff0c;我们可以尝试制作一些有趣的组件&#xff0c;虽然现在已经有很多实用的组件&#xff0c;但是自己尝试写一下也是不错的。利用as3语法&#xff0c;借用了绘图Api我们尝试制作一下这个组件。因为我们不需要很强大的功能&#xff0c;对此我们只是需要选取其一部…