Vue-使用webpack+vue-cli搭建项目

一、准备

安装NodeJs + 安装Webpack + 配置环境变量 

技巧使用: 

  1. npm 淘宝路径配置:npm config set registry=https://registry.npm.taobao.org
  2.查看npm命令列表 =>   $ npm help

二、搭建项目

1、全局安装vue脚手架工具 vue-cli

  npm install vue-cli -g

2、初始化 (项目名小写)

   vue init webpack project  或 vue init webpack-simple project   # 前者构建的应用丰富于后一个 

项目基本信息配置:

  Project name (demo-one) # 项目名称
  Project description (A Vue.js project) # 项目描述
  Author 作者
       Vue build (Use arrow keys) # 直接回车 选择runtime+compiler
  Install vue-router? (Y/n) # 是否安装Vue路由,也就是以后是spa(但页面应用需要的模块)
  Use ESLint to lint your code? (Y/n) # 使用 ESLint 代码检测工具
  Pick an ESLint preset (Use arrow keys) # 选择一个预置ESLint(使用箭头键)
  Setup unit tests with Karma + Mocha? (Y/n) # 是否需要单元测试工具 暂时不需要 n 否
  Setup e2e tests with Nightwatch? (Y/n) # 是否安装端到端测试工具 暂时不需要 n 否
       Should we run npm install for you after the project has been created? 在创建完项目之后是否需要自动运行npm install来下载第三方包 我这里选择第一个npm安装

3、安装依赖包 node_modules

  npm install

4、运行项目

  npm run dev

三、项目说明

1、npm install安装的是什么呢?我们刚刚在 vue init 初始化的时候会生成一个 package.json 文件

npm install 则会安装package.json中写的需要依赖的第三方包,包括dependencies和devDependencies
//如果该安装方式太慢,可以使用cnpm淘宝代理镜像 
安装好后就 可以 npm run dev 运行项目了

2、vue-cli初始化文件目录结构详解

!!!为什么把这里的App.vue称为根组件,main.js称为入口文件呢?

在main.js(入口文件)中App.vue(根组件)import进来了,挂载在了index.html(主页面)id为app的div上。也就是说,挂载在index.html(主页面)的组件就是根组件,把根组件挂载在主页面的文件就是入口文件。

3、如何配置 npm run dev 在浏览器后自启动项目

通过修改config中的index.js文件把autoOpenBrowser改为true~下次运行npm run dev或者npm start后即会自动启动页面

四、开发过程中遇到的跨域问题

由于还在script标签开发的方式下,前端文件和后端文件都在同在apache服务器下,直接请求本机同一个端口的文件并不属于跨域。但是在vue-cli方式下,由node.js起的一个临时的服务器占用的是8080端口和后端所方式的文件不处于同一个端口号,这就出现了跨域的问题。
解决方法:修改config index.js中的proxyTable

在main.js(入口文件)中加入一行Vue.prototype.HOST = '/DNA'
以请求的url地址为url: this.HOST+"/insert/get_data"为例子对proxyTable做一个说明
请求的url为/DNA/insert/get_data,由于请求的url中包含了proxyTable中配置了的/DNA,这时候Node.js代理服务器就可以发挥作用了。Node.js会去请求http://localhost/repo/DNA/ins...,把请求得到的接口返回给前端。
为啥是http://localhost/repo/DNA/ins...,下面做一下讲解

路径重写有什么用呢?如果你程序得接口本来就有这个路径地址,你可以不需要重写,如果没有就需要重写,把其重写为空,我这个程序接口其实本来就有/DNA,其实我这里可以不需要重写,然后把target改为'http://localhost/repo'

五、关于打包

vue-cli已经把打包的东西配置好了,只需要通过npm run build 或者 node build/build.js即可对程序进行打包。
为啥输入npm run build可以进行打包呢也是package.json配置好的原因

打包出来的文件结果,默认情况,打包生成的文件会放在vue-demo下的dist文件夹,注意双击html是不能打开这个文件的(双击打开显示的是一片空白),打包出来的文件需要放在服务器上才能跑起来,以前我双击打开看到白白的文件,一直以为是我打包出错了哈哈哈。

至于static文件和index.html存放的路径是可以修改的,可以修改为任意的路径,方便打包后的程序的运行。
修改config文件夹下的index.js文件中build对象的参数即可。

 

原文作者:风子猪
原文地址:https://segmentfault.com/a/1190000015680030

转载于:https://www.cnblogs.com/yangchin9/p/11004638.html

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

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

相关文章

element 日历组件-自定义内容

这只是个子组件 <template><div ref"topBox" class"swiper-in page-container bg-white"><div class"w-full page-head">我的排班<i class"close-btn el-icon-close" click"closeCurrentPage"><…

CSS-合理使用z-index控制盒子视轴高度,解决z-index失效

关于z-index我们的共识 共识一 首先&#xff0c;我们都同意&#xff0c;z-index对于普通盒子是无效的&#xff0c;这里的“普通盒子”是除了下文我会提到的“神奇盒子”外的所有盒子&#xff0c;至于什么是“神奇盒子”请慢慢看。 对于普通盒子&#xff0c;不管z-index值如何&…

Activiti6.0教程 Eclipse安装Activiti Diagram插件(一)

最近这段时间打算出一个Activiti6.0的详细教程&#xff0c;Activiti作为一个流行的开源工作流引擎&#xff0c;正在不断发展&#xff0c;其6.0版本以API形式提供服务&#xff0c;而之前版本基本都是要求我们的应用以JDK方式与其交互&#xff0c;只能将其携带到我们的应用中&…

JS性能优化之文档碎片-document.createDocumentFragment

讲这个方法之前&#xff0c;我们应该先了解下插入节点时浏览器会做什么。 在浏览器中&#xff0c;我们一旦把节点添加到document.body&#xff08;或者其他节点&#xff09;中&#xff0c;页面就会更新并反映出这个变化&#xff0c;对于少量的更新&#xff0c;一条条循…

man(2) W

wait(2) wait3(2) wait4(2) waitpid(2) waitid(2) SEE ALSO _exit(2), clone(2), fork(2), kill(2), ptrace(2), sigaction(2), sig‐ nal(2), wait4(2), pthread_create(3), credentials(7), signal(7)转载于:https://www.cnblogs.com/xpylovely/p/11018021.html

window.onload和$(document).ready(function(){})的区别

前段时间在面试之前查找并整理了一下window.onload和$(document).ready(function(){})区别&#xff0c;今天有时间更到我的博客上&#xff0c;由于本人资历尚浅&#xff0c;如有不对的地方&#xff0c;还请指正。 原文出自&#xff1a;http://www.php100.com/html/program/jque…

任务计划

普及组题库:(94/100) luogu: 网络流&#xff1a;P2423,P2055,P3191,P3153,P2598,P4174 线段树&#xff1a;P1712,P4145,P4868,P2619,P2572,P4247,P4246,P4198 ST表&#xff1a;P2880 DFS序(或欧拉序)线段树&#xff1a;P3178,P3459 树链剖分&#xff1a;P3384,P3379,P4315,P248…

左右滑动栏

展示效果图&#xff1a; 父 <template><div ref"topBox" class"swiper-in page-container bg-white"><div class"page-body"><drag-box class"drag-box"><div class"relative" :class"{ex…

Active MQ

转载于:https://www.cnblogs.com/ygl888/p/11020647.html

jQuery Ajax 实例

一、$.ajax的一般格式 $.ajax({ type: POST, url: url , data: data , success: success , dataType: dataType }); 二、$.ajax的参数描述 参数 描述 url 必需。规定把请求发送到哪个 URL。 data 可选。映射或字符串值。规定连同请求发送到服务器的数据。 success(data, textSt…

element ui封装 tree下拉框

展示&#xff1a; 子组件封装 <!-- 树状选择器 科室树形 --> <template><el-popoverref"popover"placement"bottom-start"trigger"click"show"onShowPopover"hide"onHidePopover"><el-treeref&quo…

Sitecore A / B测试

测试您的Web内容非常重要。这是查看页面中的页面和组件是否达到预期效果的好方法。测试还可以让您放心&#xff0c;您的内容足够吸引人&#xff0c;以增加转化次数并最大限度地提高增长率。 测试如何运作&#xff1f; 测试通过向访问者随机显示不同版本的内容来工作。Sitecore …

jQuery on()方法绑定动态元素的点击事件无响应的解决办法

$(#check_all).on(click , function(){ alert(1); }); $("#yujinlist").append(html); count; } 以上代码执行时&#xff0c;点击#check_all时&#xff0c;alert一直没反应&#xff0c;后在网上查资料时&#xff0c;才知道on前面的元素也必须在页面加载的时候就存在…

让数字保持在整数范围内

让数字保存在整数范围内 如&#xff1a; (1~10)之间的数取 10 (10~20)之间的数取 20 (20~30)之间的数取 30 let max (Math.round(数字/10)1)*10

UVA572 Oil Deposits DFS求解

小白书上经典DFS题目。 1. 递归实现 // from: https://www.cnblogs.com/huaszjh/p/4686092.html#include <stdio.h> #include <string.h> #define maxn 105 unsigned char data[maxn][maxn]; int m, n, vis[maxn][maxn];void dfs(int x, int y, int ans) {if (x &l…

HTML 表格中的行合并与列合并

colspan是横向合并&#xff1b;rowspan是纵向合并。colspan是“column span&#xff08;跨列&#xff09;”的缩写。colspan属性用在td标签中&#xff0c;用来指定单元格横向跨越的列数&#xff1a;单元格1 单元格2 单元格3 单元格4 该例通过把colspan设为“3”, 令所在单元格横…

java快速排序

package com.atguigu.java;/*** 快速排序* 通过一趟排序将待排序记录分割成独立的两部分&#xff0c;其中一部分记录的关键字均比另一部分关键字小&#xff0c;* 则分别对这两部分继续进行排序&#xff0c;直到整个序列有序。*/ public class QuickSort {private static void s…

网址备份

1.jstl标签库http://archive.apache.org/dist/jakarta/taglibs/standard/binaries/2.tomcat服务器http://tomcat.apache.org/3.mysql架包https://mvnrepository.com/4.jqueryhttps://github.com/jquery/jquery/releases5.图标http://icons8.com/preloaders6.jquery-formhttp://…

前端开发-热更新原理解读

- 一、websocket简介- 二、热跟新原理- 三、实例剖析- 四、总结websocket简介 在h5推出之前&#xff0c;浏览器应用跟服务器端通信的机制只有http协议&#xff0c;http是一种无状态的网络协议&#xff0c;前端向服务器发起一个请求&#xff0c;服务器给出一次应答&#xff…

java杨辉三角

package com.atguigu.exer; /** 使用二维数组打印一个 10 行杨辉三角。【提示】1. 第一行有 1 个元素, 第 n 行有 n 个元素2. 每一行的第一个元素和最后一个元素都是 13. 从第三行开始, 对于非第一个元素和最后一个元素的元素。即&#xff1a; yanghui[i][j] yanghui[i-1][j-1…