vue 按需加载2

vue异步组件技术

vue-router配置路由,使用vue的异步组件技术,可以实现按需加载。这种方式下一个组件生成一个js文件

用例:

{     path: ‘/promisedemo‘,     name: ‘PromiseDemo‘,     component: resolve => require([‘../components/PromiseDemo‘], resolve) }

es提案的import() (推荐)

webpack官方文档:webpack中使用import()

vue官方文档:路由懒加载(使用import())

用例:

// 下面2行代码,没有指定webpackChunkName,每个组件打包成一个js文件。 const ImportFuncDemo1 = () => import(‘../components/ImportFuncDemo1‘) const ImportFuncDemo2 = () => import(‘../components/ImportFuncDemo2‘)  // 下面2行代码,指定了相同的webpackChunkName,会合并打包成一个js文件。 // const ImportFuncDemo = () => import(/* webpackChunkName: ‘ImportFuncDemo‘ */ ‘../components/ImportFuncDemo‘) // const ImportFuncDemo2 = () => import(/* webpackChunkName: ‘ImportFuncDemo‘ */ ‘../components/ImportFuncDemo2‘) export default new Router({     routes: [         {             path: ‘/importfuncdemo1‘,             name: ‘ImportFuncDemo1‘,             component: ImportFuncDemo1         },         {             path: ‘/importfuncdemo2‘,             name: ‘ImportFuncDemo2‘,             component: ImportFuncDemo2         }     ] })

webpack提供的require.ensure()

vue-router配置路由,使用webpack的require.ensure技术,也可以实现按需加载。

这种情况下,多个路由指定相同的chunkName,会合并打包成一个js文件。

举例如下:

{     path: ‘/promisedemo‘,     name: ‘PromiseDemo‘,     component: resolve => require.ensure([], () => resolve(require(‘../components/PromiseDemo‘)), ‘demo‘) }, {     path: ‘/hello‘,     name: ‘Hello‘,     // component: Hello     component: resolve => require.ensure([], () => resolve(require(‘../components/Hello‘)), ‘demo‘) }

[转载] https://segmentfault.com/a/1190000011519350 侵删

原文地址:https://www.cnblogs.com/hsdying/p/11473861.html

时间: 2024-11-08 23:09:00

vue 按需加载2的相关文章

Vue按需加载提升用户体验

Vue官方文档异步组件: 在大型应用中,我们可能需要将应用拆分为多个小模块,按需从服务器下载.为了让事情更简单, Vue.js 允许将组件定义为一个工厂函数,动态地解析组件的定义.Vue.js 只在组件需要渲染时触发工厂函数,并且把结果缓存起来,用于后面的再次渲染. 原图文来自http://www.cnblogs.com/Kummy/p/5254754.html vue 按需加载  相关文章: 1: http://cn.vuejs.org/guide/components.html#异步组件 2

vue按需加载组件-webpack require.ensure

使用 vue-cli构建的项目,在 默认情况下 ,执行 npm run build 会将所有的js代码打包为一个整体, 打包位置是 dist/static/js/app.[contenthash].js 类似下面的路由代码 router/index.js 路由相关信息,该路由文件引入了多个 .vue组件 import Hello from '@/components/Hello'import Province from '@/components/Province'import Segment

三步解决 vue 按需加载

1  webpack 的 output 配置 chunkFleName 树干名称: " chunks/[name]-[chunkhash:8].js  "   刻上自己的hash名字, 大喊一声, 就能发了 这一步是配合第三步, 生成每个路由页面需要的(被压缩过得js) 2 webpack 的 plugins 配置 [  new webpack.optimize.commonChunkPlugin('common.js') ]     公用的树干 3 vue 的 component :

vue项目优化之按需加载组件-使用webpack require.ensure

vue项目优化之按需加载组件-使用webpack require.ensure 使用 vue-cli构建的项目,在 默认情况下 ,执行 npm run build  会将所有的js代码打包为一个整体, 打包位置是 dist/static/js/app.[contenthash].js 类似下面的路由代码 router/index.js  路由相关信息,该路由文件引入了多个 .vue组件 import Hello from '@/components/Hello' import Province

vue router按需加载

1 import Vue from 'vue' 2 import Router from 'vue-router' 3 4 Vue.use(Router); 5 //按需加载,当渲染其他页面时才加载其组件,并缓存,减少首屏加载时间 6 const Index = resolve => require(['@/views/Index.vue'], resolve) 7 const Category = resolve => require(['@/views/Category.vue'], re

webpack和vue的按需加载组件、console、抓包

1.webpack和vue的按需加载组件 webpack特有的懒加载文件的方式,很大的提升了webpack打包SPA应用的在性能方面. 而从webpack2以后require.ensure已经被import()替换. const Recommend = (resolve) => { import('components/recommend/recommend').then((module) => { resolve(module) }) } export default new Router(

Vue 路由的懒加载和组件的按需加载方法

// aview: function(resolve) { // require(["./a.vue"], resolve); // }, // bview: function(resolve) { // require(["./b.vue"], resolve); // } aview:require("./a.vue"), bview:require("./b.vue"), "懒加载也叫延迟加载,即在需要的时候进

vue中路由按需加载的几种方式

使用vue-cli构建项目后,我们会在Router文件夹下面的index.js里面引入相关的路由组件,如: import Hello from '@/components/Hello' import Boy from '@/components/Boy' import Girl from '@/components/Girl' 普通加载的缺点: webpack在打包的时候会把整个路由打包成一个js文件,如果页面一多,会导致这个文件非常大,加载缓慢 1.require.ensure()实现按需加载

vue项目实现路由按需加载的3种方式

vue异步组件技术 ==== 异步加载vue-router配置路由 , 使用vue的异步组件技术 , 可以实现按需加载 .但是,这种情况下一个组件生成一个js文件 /* vue异步组件技术 */ { path: '/home', name: 'home', component: resolve => require(['@/components/home'],resolve) },{ path: '/index', name: 'Index', component: resolve => re