首页 > 其他分享 >Vue

Vue

时间:2023-04-14 10:12:21浏览次数:44  
标签:npm vue github gulp Vue https com

相关资料地址

官网: https://cn.vuejs.org/

官网教程: https://cn.vuejs.org/v2/guide/

官网API: https://cn.vuejs.org/v2/api/

 

王树东FE10资料: https://github.com/itguide/fe10

        (对应视频资源: 链接:https://pan.baidu.com/s/1nP-eD4XEH2nG1uABhsPvuw 密码:w0ve)

 

杨杰的vue讲课视频资料:

链接:https://pan.baidu.com/s/190SMYEFqHHKgzgI7jgSOKQ 密码:5Wg3

 

 

 

 

路由:

https://router.vuejs.org/zh-cn/

 

全局方法和属性设置

1. 在main.js 同级目录下新建 utils.js (名字可改)

exports.install = function (Vue, options) {

  // 服务器信息记录
  Vue.prototype.KEY_SERVER_INFO = "KEY_SERVER_INFO";

  // 根据保存的服务器信息生成HTTP前缀
  Vue.prototype.buildHttpPrefix = function () {
    var url = "http://192.168.1.111:8080";
    return url;
  };

};

2. 在 main.js 导入组件

import utils from './utils';
Vue.use(utils); //将全局函数当做插件来进行注册

3. 组件中正常使用此属性和方法

this.KEY_SERVER_INFO

 

请求资源 axios

作用就是请求 后台数据 的一种方式, Vue中推荐用这个库来使用

https://www.npmjs.com/package/axios

 

// axios 提供的请求数据的变量

// get 代表是采用GET方式获取数据

//

axios.get('http://csit.top/api_cat.php')

.then(function (aaa) { // 数据正常的就会执行这里

// 返回的数据是在 data 属性中

console.log(aaa.data);

})

.catch(function (error) { // 出现错误的时候,执行这里的代码

console.log(error);

});

开发环境 VSCode

自动提示插件: Vetur

 

Vue 开发工具

https://github.com/vuejs/vue-devtools\

vue调试工具之 vue-devtools的安装
https://www.cnblogs.com/james23dong/p/8250797.html

路由

文档: https://router.vuejs.org/zh-cn/

 

Vue 集成开发工具 vue-cli

淘宝镜像配置

http://npm.taobao.org/

你可以使用我们定制的 cnpm (gzip 压缩支持) 命令行工具代替默认的 npm:

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

 

开发脚手架:

https://github.com/vuejs-templates/webpack

 

cnpm install --global vue-cli
# 创建一个基于 webpack 模板的新项目
$ vue init webpack my-project

这里注意选 n

Use ESLint to lint your code? (Y/n) n

# 安装依赖,走你
$ cd my-project
$ cnpm install

启动项目

ccnpm run dev

项目打包

npm run build

cnpm run build

 

问题及解决

Uncaught SyntaxError: Use of const in strict mode

【解决办法】将webpack-dev-server版本降为2.7.1重新安装即可

 

服务器编译打包出错

ModuleBuildError: Module build failed (from ./node_modules/[email protected]@url-loader/index.js):
TypeError: Cannot read property 'context' of undefined



ERROR  Build failed with errors.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] build: `vue-cli-service build`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the [email protected] build script.

【解决办法】 进服务器,删除 node_modules 然后,再重新编译即可。

其他资料

awesome-vue 集合了来自社区贡献的数以千计的插件和库。

https://github.com/vuejs/awesome-vue#components--libraries

 

电商接口转发配置文档

http://csit.top/p/index.php?title=Shop#.E6.8E.A5.E5.8F.A3.E8.BD.AC.E5.8F.91

 

 

项目上线资源

https://github.com/itguide/lnmp

 

git仓库:
https://github.com/vuejs

这个是vue资源相关资源库:
https://github.com/vuejs/awesome-vue

参考文章

如何构建你的第一个Vue.js组件

http://mp.weixin.qq.com/s/3sJdMfbOX76aGZpuDJxXbg

 

 

Vue.js——60分钟快速入门

http://www.cnblogs.com/rik28/p/6024425.html 

 

移动端地图

vue-leaflet-mobile

实战案例

今日头条

https://github.com/vueguide/vue-toutiao

 

云备忘录

https://github.com/maxwelldu/vue-todolist

 

支持PC和移动端的记事本

Demo地址:

http://blog.gdfengshuo.com/example/notepad/

项目代码地址:

https://github.com/lin-xin/notepad

 

猿眼电影订票系统

https://github.com/SYSUMonkeyEye/MonkeyEye-FE

 

实现一个计算器

http://git.oschina.net/jjtHappy/js_caculator

 

Vue2.0移动版网易云音乐

https://github.com/xinghaiyang1994/vue-music

 

vue新闻移动端项目

基于vue.js和webpack的的实例项目

https://segmentfault.com/a/1190000009244306

项目地址:

https://github.com/daoket/vue.news

 

斗鱼项目

https://github.com/lvye1221/vue2-douyu/tree/master/doc

https://github.com/maxwelldu/vue2-douyu

电商项目

https://github.com/maxwelldu/x-shop

https://github.com/itguide/vnshop10 (带课程大纲的)

说明文档

http://csit.top/p/index.php?title=Shop

 

MiniQQ Vue2实现的MiniQQ功能

https://github.com/jiangqizheng/vue2-MiniQQ

公司首页系统

https://github.com/maxwelldu/HTML5Course20170207/tree/master/20170531/primeAudit

UI组件库

iView:一套基于 Vue 的高质量 UI 组件库

https://www.v2ex.com/t/309935

Tabs 标签页

<Tabs type="card" closable @on-tab-remove="handleTabRemove">

<TabPane label="标签一" v-if="tab0">标签一的内容</TabPane>

<TabPane label="标签二" v-if="tab1">标签二的内容</TabPane>

<TabPane label="标签三" v-if="tab2">标签三的内容</TabPane>

</Tabs>

其中 点击 删除的 事件是  @on-tab-remove, 点击 弹框 可以获取到 点击tab 的下标

 

饿了么 UI组件库

http://element-cn.eleme.io/

 

 

项目打包

npm run build

cnpm run build

在当前目录   dist 目录,项目发布目录

服务器

发布代码必须要放到 Web服务器 中:

Nginx  ( 其他服务器:  Tomcat,  )

http://nginx.org/en/download.html

【注意】下载解压文件到 C盘根目录

双击1次 文件夹中 nginx.exe ,确保 任务管理器 中,只出现  2个 “nginx.exe” 进程

地址转发功能(反向代理)

localhost    ===>    hope1995.me      

用 Editplus 打开 conf/nginx.conf  文件

 

在48行上,添加如下代码:

        location /api/ {
            proxy_pass http://hope1995.me:3000/;
        }

用任务管理器 关闭 nginx 进程, 重新打开 nginx 服务器

 

Vue 项目的自动部署

Linux 服务器下的部署代码

配合 Gulp 来使用

cnpm install gulp gulp-sftp --save-dev

 

 

http://www.imooc.com/article/75141

https://segmentfault.com/q/1010000017023474?utm_source=tag-newest

 

项目根目录新建 gulpfile.js 文件,内容如下:

 

const gulp = require('gulp')
const scp = require('gulp-scp2')

gulp.task('default', () => {
  console.log('打包完成,正在上传到服务器')
  return gulp.src('./dist/**/*')
    .pipe(scp({
      host: 'hostname',
      username: 'username',
      password: 'password',
      dest: '/home/admin/',
      watch: function(client) {
        client.on('write', function(o) {
          console.log('write&nbsp;%s', o.destination);
        });
      }
    }))
    .on('error', (err) => {
      console.log(err)
    })
    .on('end', () => {
      console.log('上传完成')
    })
})


项目根目录下,执行命令,上传文件

// 全局安装gulp
cnpm install --global gulp

// 安装 sftp 依赖
cnpm install gulp-scp2


// 编译
npm run build

// 上传
gulp

// 执行 upload 命令
gulp upload

 

Windows 服务器下的部署代码

参考

https://blog.csdn.net/j_bleach/article/details/53047467

 

安装 sftp 依赖

// 安装 gulp 依赖
cnpm install gulp

// 安装 gulp 集成工具
cnpm i gulp-cli -g

// 安装 sftp 依赖 
cnpm install gulp-ftp --save-dev

更新gulp.js 文件,添加上传方法

// gulp 下的 upload 脚本 

const ftp = require('gulp-ftp');

gulp.task('upload', () => {
  console.log('打包完成,正在上传到服务器')
  return gulp.src('./dist/**/*')
    .pipe(ftp({
      host: 'xx.xx.xx.xx',
      port: 21,
      user: 'user',
      pass: 'pass',
      remote: '/',
      watch: function(client) {
        client.on('write', function(o) {
          console.log('write&nbsp;%s', o.destination);
        });
      }
    }))
    .on('error', (err) => {
      console.log(err)
    })
    .on('end', () => {
      console.log('上传完成')
    })
})


// 执行上传文件
gulp upload


 

编译加上传

// 编译加上传

npm run build && gulp upload

删除编译结果,并且重新编译加上传

// 删除编译结果,并且重新编译加上传

rm -rf dist && npm run build && gulp upload

 

遇到的问题及解决

gulp无法运行 - Cannot read property 'apply' of undefined

http://togor.cn/2018/12/12/gulp%E6%97%A0%E6%B3%95%E8%BF%90%E8%A1%8C-Cannot-read-property-apply-of-undefined.html

 

标签:npm,vue,github,gulp,Vue,https,com
From: https://www.cnblogs.com/lvye1221/p/17317423.html

相关文章

  • Vue2入门之超详细教程六-数据代理
    1、简介这章有点长,希望大家可以耐心看完。在了解数据代理之前需要先了解Object.defineProperty,Object.defineProperty就是给一个对象添加属性用的。数据代理,通过一个对象代理对另一个对象中数据的操作(读/写)。Vue中的数据代理:通过vm对象来代理data对象中的数下......
  • Vue.js element-ui
    基本使用视频按需引入视频7.1移动端常用UI组件库Vanthttps://youzan.github.io/vantCubeUIhttps://didi.github.io/cube-uiMintUIhttp://mint-ui.github.io7.2PC端常用UI组件库.ElementUIhttps://element.eleme.cnIViewUIhttps://www.iviewui.comsrcApp.vue......
  • vuex存储和本地存储(localstorage、sessionstorage)的区别
    1.最重要的区别:vuex存储在内存,localstorage则以文件的方式存储在本地2.应用场景:vuex用于组件之间的传值,localstorage则主要用于不同页面之间的传值。3.永久性:当刷新页面时vuex存储的值会丢失,localstorage不会。注:很多朋友觉得用localstorage可以代替vuex,对于不变的数据确实可......
  • Vue.js history模式与hash模式
    视频13.路由器的两种工作模式对于一个url来说,什么是hash值?——#及其后面的内容就是hash值。hash值不会包含在HTTP请求中,即:hash值不会带给服务器。hash模式:地址中永远带着#号,不美观。若以后将地址通过第三方手机app分享,若app校验严格,则地址会被标记为不合法。兼容性较......
  • cookies、sessionStorage与localStorage在Vue中的使用
    目录简介localStorage的使用语法示例sessionStorage的操作语法示例cookie的操作vue-cookie语法示例vue-cookies语法示例js-cookie的使用简介cookies临时存储在客户端中,并且有过期事件,到过期时间会被自动清理。sessionStorage临时存储在客户端中,关闭浏览器后......
  • vue3微信公众号商城项目实战系列(1)开发环境准备
    项目忙完,这次上新,写一个前端系列,采用vue3来开发一个微信公众号商城。前言:1.微信公众号商城本质也是一个网站,由一个个网页组成,只不过这些网页运行在手机端,能响应手指的点击、长按、拖拽等操作。2.既然是网页,当然可以用3件套(js+html+css)来写,但象vue这样的前端框架比3件套更高效......
  • 使用vue+bpmn-js实现activiti的流程设计器__Vue.js
    https://www.vue-js.com/topic/5f6c4af84590fe0031e591ef完整代码见github:https://github.com/griabcrh/vue-activiti-demo适配activitiimportactivitiModdleDescriptorfrom'../js/activiti.json';this.bpmnModeler=newBpmnModeler({container:ca......
  • vue上传文件显示进度条,当上传完成后间隔一秒进度条消失
    <template><el-uploadclass="avatar-uploader"action="api/file/upload":show-file-list="false":before-upload="beforeAvatarUpload":on-progress="handleUploadProgress&q......
  • Vuex
    1.概念在Vue中实现集中式状态(数据)管理的一个Vue插件,对vue应用中多个组件的共享状态进行集中式管理(读/写),也是一种组件间通信的方式,且适用于任意组件间通信2.何时使用?多个组件需要共享数据时3.搭建vuex环境创建文件:src/store/index.js//引入vue......
  • Vue样式组件库
    常用样式库常用的Vue样式库如下组件库说明地址element目前只支持到vue2.x版本,不再更新https://element.eleme.cn/#/zh-CNelement-plus样式与element相同,开发都为了在vue3.x版本中使用而升级https://element-plus.gitee.io/zh-CN/vans主要针对移动端的UI......