天天看點

html import子產品化,關于ES6中的子產品化的規範:export與import

前言

其實對我個人來說,開始的時候對于export 與 import 用法挺模糊的。到現在為止也終于清楚一點了。

有一些前提我們需要了解清楚:

1、JS以前是沒有子產品化這個概念的,沒有的後果就是代碼顯得較亂。後來社群出現了兩種規範:CommonJS、AMD

2、對于我來說,問題出現就出現在這兩個規範上,由于沒有系統的學習,一會import 一會export 、一會require()

清楚了有兩個規範後(CommonJS、AMD),就要知道下面的事情:

1、CommonJS 是同步代碼規範,Node.js的子產品系統,就是參照CommonJS規範實作的。還有NPM也是遵循commonJS定義的包規範。

2、AMD意思是"異步子產品定義",是前端子產品規範。RequireJS就是實作了AMD規範的。

把上面我寫到的了解,對于我來說大緻就能了解清楚了,下面就說一下相應的文法(主要CommonJS文法)

具體文法

CommonJS子產品規範

1、子產品引用

在CommonJS 規範中,通過require()方法,引入一個子產品的API。

2、子產品定義

CommonJS通過require引入子產品,那麼通過什麼定義呢?

通過:exports,上下文提供了exports對象用于導出目前子產品的方法或變量,并且它是唯一的導出的接口。在子產品中,還存在一個module對象,它代表子產品本身,而exports是module的屬性。

在Node中,一個檔案就是一個子產品。

export 和 import

export

export就是向外導出一些東西,那麼這些東西有哪些呢?其實用一句前輩的話來說,你能想到的基本都能導出。

比如有:變量、常量、函數、類等等。

有一個特殊的是預設導出

也即:

什麼意思,這需要和下面的import連着。

import

import 就是導入,和export對應。

以上第一條就是導入所有,并重命名為mode

第二條導入aa,vv,cc

還有就是導入預設導出的!

這就是和前文預設導出配合使用的:export default 'aaa';

還有就是以下的: