美文网首页
require按需加载以及自动化导入

require按需加载以及自动化导入

作者: 追风筝的Hassan | 来源:发表于2019-12-23 17:11 被阅读0次

require:运行时调用,可运行在代码的任何地方。
import:编译时调用,必须放在文件开头。

懒加载:const Layout = resolve => require(['@views/layout'], resolve)
用require这种方式引入的时候,会将你的component分别打包成不同的js,加载的时候也是按需加载,只用访问这个路由网址时才会加载这个js

非懒加载:component: index
如果用import引入的话,当项目打包时路由里的所有component都会打包在一个js中,造成进入首页时,需要加载的内容过多,时间相对比较长

vue的路由配置文件(routers.js),一般使用import引入的写法,当项目打包时路由里的所有component都会打包在一个js中,在项目刚进入首页的时候,就会加载所有的组件,所以导致首页加载较慢,

而用require会将component分别打包成不同的js,按需加载,访问此路由时才会加载这个js,所以就避免进入首页时加载内容过多。

采用 require.context()进行自动化导入


image.png
/ 自动加载  目录下的 .js 结尾的文件
const ruterContext = require.context('@/router', true, /\.js$/)
let routesImport = []
ruterContext.keys().forEach(route => {
  // 排除不处理
  if (route.startsWith('./index.js') || route.startsWith('./permission.js')) {
    return
  }
  const routerModule = ruterContext(route)
  routesImport = [...routesImport, ...(routerModule.default || routerModule)]
})

原文链接:https://blog.csdn.net/weixin_37380784/article/details/99671933

相关文章

网友评论

      本文标题:require按需加载以及自动化导入

      本文链接:https://www.haomeiwen.com/subject/pqaznctx.html