美文网首页
vue路由懒加载中使用import 还是 require 及二

vue路由懒加载中使用import 还是 require 及二

作者: 看庭前花开花落_望天上云卷云舒 | 来源:发表于2019-12-10 17:06 被阅读0次

    参考地址:https://blog.csdn.net/ZHXT__/article/details/102712782(版权声明:本文为CSDN博主「ZH_TX」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。)
    https://www.cnblogs.com/sunshq/p/7922182.html

    node编程中最重要的思想就是模块化,import和require都是被模块化所使用。

    一、区别:

    1、遵循规范
    require 是 AMD规范引入方式
    import是es6的一个语法标准,如果要兼容浏览器的话必须转化成es5的语法
    2、调用时间
    require是运行时调用,所以require理论上可以运用在代码的任何地方
    import是编译时调用,所以必须放在文件开头
    3、本质
    require是赋值过程,其实require的结果就是对象、数字、字符串、函数等,再把require的结果赋值给某个变量
    import是解构过程,但是目前所有的引擎都还没有实现import,我们在node中使用babel支持ES6,也仅仅是将ES6转码为ES5再执行,import语法会被转码为require
    4、使用
    require / exports :
    遵循 CommonJS/AMD,只能在运行时确定模块的依赖关系及输入/输出的变量,无法进行静态优化。
    用法只有以下三种简单的写法:

    exports.fs = fs
    module.exports = fs
    const fs = require('fs')
    

    import / export:
    遵循 ES6 规范,支持编译时静态分析,便于JS引入宏和类型检验。动态绑定。
    写法就比较多种多样:(有的是整个文件的引入,有个是单个方法的引入)
    使用了导出使用 export default ,则可以在引入时自定义名字,但是每个文件中只能有一个export default, 如:vue中script的export default
    故如果在写入方法的文件中使用 export{ }, 但是import 的时候名字也必须对应,
    不能直接自命名(自命名可以使用 as 的语法进行命名)

    export default fs
    export const fs
    export function readFile
    export {readFile, read}
    export * from 'fs'
    
    /*****/
    
    import fs from 'fs'
    import {default as fs} from 'fs'
    import * as fs from 'fs'
    import {readFile} from 'fs'
    import {readFile as read} from 'fs'
    import fs, {readFile} from 'fs'
    

    二、关于这两种方式的路由懒加载:

    使用require

    const Foo = resolve =>{
     require.ensure(['./Foo.vue',() => {
       resolve(require('./Foo.vue'))
     }])
    }
    
    /*******/等价于
    const Foo = resolve => require(['./Foo.vue'], resolve);
    

    import的时候的路由懒加载(推荐)
    更加的简洁便利

    const Foo = () =>import('./Foo.vue');
    

    相关文章

      网友评论

          本文标题:vue路由懒加载中使用import 还是 require 及二

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