vue分享

vue分享——第五部分

模块化开发

  • 什么是模块化开发?

    将代码隔离封装成一个具有特定功能的模块,在开发时,需要什么功能就加载什么模块。每个模块都是单独的作用域,但一个模块的实现可以依赖其他模块

    开发时,所有模块组装成一个整体,完成整个系统所要求的功能

  • 模块化开发的好处?

    1. 提高代码复用率
    2. 避免变量名污染、冲突
    3. 便于维护
    4. 更好的分离,按需加载

Vue-cli3

  • 什么是vue-cli3?

    vue脚手架,帮助用户快速创建vue项目。创建一套文件结构,包含了基本的依赖库,用户只需要npm install就可以安装。官方提供的vue-cli脚手架很友好,不用想vue+webpack的工作流怎么搭建。

创建vue-cli3

  1. 全局安装 npm install -g @vue/cliyarn global add @vue/cli

  2. 创建一个项目 vue create hello

在这里插入图片描述

  1. 会进入一个配置的选择页面,有默认和手动选择,我们选择手动选择,一起来看看

在这里插入图片描述

在这里插入图片描述

  • Babel:把 JavaScript 中 es2015/2016/2017/2046 的新语法转化为 es5,让低端运行环境(如浏览器和 node )能够认识并执行

  • TypeScript:支持TypeScript书写源码

  • Processive Web App (PWA) Support:渐进式网络应用程序

  • Router:支持vue-router 。

  • Vuex:支持 vuex

  • CSS Pre-processors:支持 CSS 预处理器。

  • Linter / Formatter 支持代码风格检查和格式化。

  • Unit Testing 支持单元测试。

  • E2E Testing 支持 E2E 测试。

在这里插入图片描述

Use history mode for router?

​ 最直观的区别就是在url中 hash 带了一个很丑的 # 而history是没有#的。比如 :http://www.fineven.com/#/hello

具体的见我们组其他同学分享的路由部分

  1. 选择css预处理器

在这里插入图片描述

  1. 选择代码规则

在这里插入图片描述

  1. 选择语法检查方式,保存检测或者是fix和commit检测

在这里插入图片描述

在这里插入图片描述

文件保存方式:

  • 独立文件
  • package.json
  1. 是否记录本次的配置,以便下次使用

在这里插入图片描述

  1. 等待下载

在这里插入图片描述

  1. 安装好后就可以启动啦

在这里插入图片描述

文件目录结构

在这里插入图片描述

├── node_modules                    # 存放项目依赖包
├── public                          #     / Vue 项目:公用文件夹,打包时会原封不动复制到dist文件夹 /
│   ├── favicon.ico                 # [*] 在浏览器标签卡上显示的图标
│   └── index.html                  # [*] 做基础承载的 HTML
├── src                             #     / Vue 项目:源代码文件夹 /
│   ├── App.vue                     # [*] Vue 模板节点树的 根组件
│   ├── assets                      #     / Vue 项目:资源文件夹 /
│   │   └── logo.png                    
│   ├── components                  #     / Vue 项目:组件源码文件夹 /
│   │   └── Login.vue               # [*] 实现登录的组件
│   ├── main.js                     # [*] JavaScript 入口文件
│   ├── router                      # [x] / Vue-Router 文件夹 /
│   │   └── index.js
│   ├── store                       # [x] / Vuex 文件夹 /
│   │   └── index.js
│   └── views                       # [*] / Vue 项目:页面视图文件夹 /
│       ├── About.vue               # [*] 「关于我们」页面视图组件
│       └── Home.vue                # [*] 「主页」   页面视图组件
├── .gitignore                      # [x] git忽略文件
├── babel.config.js                 # [x] Babel 配置文件
├── package.json                    # [*] 当前项目 NPM 配置
├── package-lock.json               # [*] 锁定依赖包的版本
└── README.md                       # [*] 说明文档

项目运行

npm run serve

在这里插入图片描述

运行结果:在这里插入图片描述
在这里插入图片描述

项目打包

npm run build/yarn build,将整个项目进行压缩构建到dist这个目录下(俗称打包)

打包后会生成一个新文件夹dist
在这里插入图片描述

vue-cli是使用了webpack来实现打包功能的,而在本地打开index.html文件并不能正常显示项目内容还会有一堆找不到资源的错误

,如图

在这里插入图片描述

vue-cli脚手架里是帮你做了很多关于webpack的配置的, 运用了处理css文件的style-loadercss-loader, 处理文件的file-loader等功能,publicPath属性默认为/,就会从整个项目的根目录去找dist里的css、js等文件夹,但我们可以看到根目录下并没有这些文件夹,所以会有资源加载失败错误。而打包到服务器是上传整个dist文件夹,根目录下放的就是以下文件了

在这里插入图片描述

Webpack

安装

npm install -g webpack

npm install --save-dev webpack

在这里插入图片描述

使用前的配置

1.创建package.json npm init,终端会问你一系列问题,如果不准备发表模块,这些问题都不重要,可以直接回车

在这里插入图片描述

  1. 安装依赖包 npm install --save-dev webpack

  2. 创建两个文件夹apppublic.其中app存放原始数据和我们写的js模块,public存放供浏览器读取的文件(包括使用webpack打包生成的js文件以及一个index.html文件)

  3. 创建三个文件:

    • index.html --放在public下
    • Greeter.js --放在app文件夹下
    • main.js --放在app文件夹下

在这里插入图片描述

  1. 在index.html写入最基础html代码,引入打包后的js文件(先暂时命名为bundle.js)

在这里插入图片描述

  1. 在Greeter.js里定义一个返回问候信息的html元素的函数,并依据CommonJS规范导出这个函数为一个模块
    在这里插入图片描述

  2. 在main.js里把Greeter返回的节点插入页面

在这里插入图片描述

正式使用

基本使用方法:

webpack {entry file} {destination for bundled file}

  • entry file填写入口文件的路径,也就是上述的main.js路径
  • {destination for bundled file}填写打包文件的存放路径

需要注意的是如果你的webpack不是全局安装的,需要输入命令node_modules/.bin/webpack app/main.js public/bundle.js

在这里插入图片描述

在这里插入图片描述

推荐方法:(采用文件配置的方式)

在根目录新建webpack.config.js

在这里插入图片描述

在package.json里设置以下启动命令:

在这里插入图片描述

就可以使用npm run webpack执行打包任务啦!

在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue中实现微信分享链接需要以下步骤: 1. 首先,你需要在微信开放平台上注册一个公众号,并获取到对应的AppID。 2. 在Vue项目的入口文件中引入微信JavaScript SDK,可以通过使用`<script>`标签直接引入,或者通过npm安装相关的包。 3. 在需要分享的页面中,可以在`created`或`mounted`钩子中调用微信提供的API,获取当前页面的URL,并配置微信分享所需的参数。例如: ```javascript import wx from 'weixin-js-sdk'; export default { mounted() { this.getWechatConfig(); }, methods: { getWechatConfig() { // 发起请求,获取后端签名 axios.get('/api/getWechatConfig', { params: { url: window.location.href.split('#')[0] } }).then(response => { const { appId, timestamp, nonceStr, signature } = response.data; // 配置微信分享参数 wx.config({ debug: false, // 开启调试模式 appId: appId, timestamp: timestamp, nonceStr: nonceStr, signature: signature, jsApiList: ['onMenuShareAppMessage', 'onMenuShareTimeline'] // 需要使用的API列表 }); wx.ready(() => { // 配置分享给朋友 wx.onMenuShareAppMessage({ title: '分享标题', desc: '分享描述', link: window.location.href, imgUrl: '分享图片链接', success: () => {}, cancel: () => {} }); // 配置分享到朋友圈 wx.onMenuShareTimeline({ title: '分享标题', link: window.location.href, imgUrl: '分享图片链接', success: () => {}, cancel: () => {} }); }); }).catch(error => { console.error(error); }); } } } ``` 4. 最后,通过后端接口获取微信配置信息,其中`url`参数需要替换成当前页面的URL,然后将获取到的配置信息返回给前端。在前端通过微信提供的`wx.config()`方法进行配置,然后在`wx.ready()`方法中配置分享给朋友和分享到朋友圈的行为。 这样,在Vue中实现微信分享链接的功能就完成了。当用户访问分享出去的链接时,会根据配置信息弹出微信分享的对话框,用户可以选择分享给好友或分享到朋友圈。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值