JS里面的require和import究竟有什么区别

区别一:所属规范不同

  • require属于commonjs规范
    • nodejs使用的就是commonjs规范
    • 如果在node里面要使用import,我们的文件名称必须是xxx.mjs的
  • import属于ES6规范
    • 名门正派

区别二:输出不同

  • import输出的是值的引用
    • 在预编译阶段,如果读到import,就会生成一个只读的引用,在根据这个引用去取模块的值,也就是模块的值变了,这个值也会跟着变(编译时加载)
  • require输出的是值的拷贝
    • 加载的是一个对象,对象只有在脚本运行完成之后才会生成,其实就相当于require的这段代码是直接复制到了你引入的代码里面。(运行时加载)

区别三:执行顺序不同

  • import是异步加载的
  • require是同步加载的

你可能感兴趣的:(vue,javascript,前端,开发语言)