import 'zone.js' 这样的导入模块语法为什么能正常工作

按照规范, 应该是这样的形式,

import ... from 


而且也不该有import后边跟字符串的语法呀.
阅读 2.2k
2 个回答

import 最终也会转换成 require 的形式。

import ‘zone.js’
会转换成
require('zone.js')

所以,你可以理解为,就是单纯的把 zone.js 引入到当前位置。
更深点讲就跟模块有关系

正常定义模块我们需要这样导出一些函数或者对象,给引用的模块使用:
// alert.js
export default function alert(){
   alert(1)
}

// 那么接受的地方就需要
import alert from 'alert.js' // 导入
alert() // 使用

但是有些模块没有导出方法或者对象,比如这样的:
// alert.js
alert(1)

那么,这样的模块,就不需要外部引用的时候去指定变量了。
因为内部是自执行的。
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题