当前位置: 首页 > news >正文

网站的角色设置如何做/网络推广是什么意思

网站的角色设置如何做,网络推广是什么意思,掌上大学微信管理系统,教研组网站的建设在Vue项目上使用异步加载以SPA的方式构建应用,往往会把所有的代码打包到一起,使得单个js日益庞大。所以我们需要思考一些暂时不用的代码是否可以异步加载,而Vue也提供了这样的能力。一、使用异步组件Vue允许以一个工厂函数的方式定义组件&…

在Vue项目上使用异步加载

以SPA的方式构建应用,往往会把所有的代码打包到一起,使得单个js日益庞大。所以我们需要思考一些暂时不用的代码是否可以异步加载,而Vue也提供了这样的能力。

一、使用异步组件

Vue允许以一个工厂函数的方式定义组件,这个工厂函数会收到一个 resolve 回调,这个回调函数会在你从服务器得到组件定义的时候被调用。你也可以调用 reject(reason) 来表示加载失败。这里的 setTimeout 是为了演示用的,如何获取组件取决于你自己。

Vue.component('async-example', function (resolve, reject) {

setTimeout(function () {

// 一些耗时任务

// 向 `resolve` 回调传递组件定义

resolve({

template: '

I am async!
'

})

}, 1000)

})

显然以上示例几乎看不出来什么场景需要使用。但这却是使用异步加载的基石。假如我们把setTimeout换成以下这种:

Vue.component('async-example', function (resolve, reject) {

import('path-to-my-component.js').then(component => resolve(component))

.catch(reject)

})

这是不是就是我们想要的吗?这里用到了处于stage 3的dynamic import。

Dynamic import() introduces a new function-like form of import that unlocks new capabilities compared to static import.

Dynamic import()现在处于stage 3阶段,相对于import的静态处理方式,import()以一种函数调用的方式来更灵活地加载模块。

二、跟webpack结合

webpack的动态导入也能帮我们解决这个问题。它提供了两个方法:

import()

使用import()动态导入foo,(这里跟dynamic import几乎一样,可以认为是webpack自己的polyfill)

Vue.component('async-component', (resolve) => import('./foo.js')

.then(resolve)

) // import 返回一个promise

Require

Vue.component('async-webpack-example', function (resolve) {

// 这个特殊的 `require` 语法将会告诉 webpack

// 自动将你的构建代码切割成多个包,这些包

// 会通过 Ajax 请求加载

require(['./my-async-component'], resolve)

})

三、在路由层面懒加载

vue-router文档有一节来讲路由懒加载。不过使用的也是上面描述的几种方法,可以对照着看一看。

四、webpack如何实现懒加载

假设我们有如下的代码:

// index.js

const routes = [

{ path: '/foo', component: () => import('./foo') },

{ path: '/bar', component: Bar }

]

// foo.js

export default {

template: "

Template Foo

"

}

我们使用下面的配置打包:

module.exports = {

entry: './index.js',

output: {

filename: '[name].bundle.js',

chunkFilename: "[name].bundle.js",

path: __dirname

}

}

打包出来的代码:

// 1.bundle.js 对应 foo.js

(window.webpackJsonp = window.webpackJsonp || []).push([

[1],

[, function (e, o, p) {

"use strict";

p.r(o), o.default = {

template: "

Template Foo

"

}

}]

]);

可以看到foo.js单独打包成了1.bundle.js,加载它的时候,会把代码以函数的方式挂载在window的webpackJsonp属性上。

另外查看main.bundle.js,可以找到它以创建一个script标签的形式引入1.bundle.js,另外使用onload执行代码。

main.bundle.js

http://www.lbrq.cn/news/1571401.html

相关文章:

  • 我的世界做披风网站/手机维修培训班学校
  • 网站做零售/google网站搜索
  • 宁波论坛建站模板/免费推广软件
  • 江阴市建设局网站/网站关键词百度自然排名优化
  • 济南网站系统优化/百度竞价代运营
  • 中国设计之窗官方网站/google推广及广告优缺点
  • php7搭建wordpress/如何软件网站优化公司
  • 网站logo怎么做动态/桂林网页
  • 免费个人网站制作/semantic
  • 成都网站seo厂家/自媒体seo是什么意思
  • h5都用什么网站/网络营销的方式和手段
  • 新疆生产建设兵团招考网站/成都seo外包
  • 人妖 wordpress/免费下优化大师
  • 网站建设公司经营范围/搜索引擎营销案例有哪些
  • 嘉兴南湖区建设局网站/培训网址
  • 情侣视频被4万人围观/seo常用工具包括
  • 怎么下载html中的视频/seo系统培训哪家好
  • 网络营销工具平台/seo百科
  • 深圳网站建设哪家专业/包头seo
  • 如何将网站上传到空间/广州seo优化推广
  • 微信网站搭建教程/百度词条搜索排行
  • java网站开发现状/媒体资源
  • 济南集团网站建设/深圳网络推广公司排名
  • wordpress博客费用/张家界百度seo
  • 谷歌广告优化/抖音seo什么意思
  • 个人备案怎么做旅游网站/什么是域名
  • 手机网站模板用什么做/长春seo培训
  • 深圳最好的做网站/武汉最新今天的消息
  • 网站开发公司 上/关键词seo优化排名公司
  • 怀远做网站/产品推广策略怎么写
  • DataHub IoT Gateway:工业现场设备与云端平台安全互联的高效解决方案
  • 18. parseInt 的参数有几个
  • 《算法导论》第 22 章 - 基本的图算法
  • nm命令和nm -D命令参数
  • 一键自动化:Kickstart无人值守安装指南
  • PCBA:电子产品制造的核心环节