Common.js Sea.js Require.js
模块化 module
一个js文件看做一个模块,模块中可以有任意变量、函数,通过js文件中的export导出接口,需要时,在需要的文件中通过import导入export开放的接口
import用于js的最顶端,在编译时执行,导致import语句不接受条件、函数、字符串拼接等,属于静态执行
import(路径)可以动态加载,返回结果是promise实例
导出:export
/:根目录
./:当前目录
../:上级目录
export 函数声明或者变量声明赋值
export {变量名,函数名...},写在最后
1、export let n=20; 逐个导出
2、export {n,m,arr}; 在最后整体导出
3、export default arr;默认导出,不加{},同一模块内只能使用一次(default相当于变量声明)
导入时不需要{},可以用任意名字(相当于对default变量赋值)
导入:import
import {export导出的名字,多个用逗号隔开}from "路径"
import default值(任意变量名) from "路径"
import default值(任意变量名),{a,b} from "路径"
import {a as xy,b as yz} from "路径",a,b是export导出接口,xy,yz是新定义的变量
import * as obj from "路径";,obj是Module对象,存储所有export导出的数据
export {PERSON} from "./2.js"
export和import混合