摘要:命令規(guī)定的是對(duì)外的接口,必須與模塊內(nèi)部的變量建立一一對(duì)應(yīng)關(guān)系。意思是導(dǎo)出的不是一個(gè)具體的數(shù)值,而是一個(gè)對(duì)象命令接受一對(duì)大括號(hào),里面指定要從其他模塊導(dǎo)入的變量名。大括號(hào)里面的變量名,必須與被導(dǎo)入模塊對(duì)外接口的名稱相同。
一、module.exports與exports
nodeJS采用commonJs規(guī)范,當(dāng)前文件是一個(gè)模塊(module)私有域,通過exports屬性導(dǎo)出,通過require()引入模塊,通過.xx去獲取值,從而了解到加載某個(gè)模塊,其實(shí)是加載該模塊的exports屬性
exports是module.exports的別名,不要在同一個(gè)文件內(nèi)同時(shí)使用兩個(gè),否則只能獲取到module.exports的值
exports導(dǎo)出// example.js module.exports.a = "111"; module.exports.fun= function() { } // 或者寫成對(duì)象形式 module.exports = { a : "111", fun: function(){} }require加載
let test = require("./example.js") console.log(test.a) console.log(test.fun);二、module.export/export default{}
ES6中的模塊功能主要由兩個(gè)命令構(gòu)成:export和import。export命令用于規(guī)定模塊的對(duì)外接口,import命令用于輸入其他模塊提供的功能。
export命令規(guī)定的是對(duì)外的接口,必須與模塊內(nèi)部的變量建立一一對(duì)應(yīng)關(guān)系。意思是導(dǎo)出的不是一個(gè)具體的數(shù)值,而是一個(gè)對(duì)象{a: 1, b: function(){}}
import命令接受一對(duì)大括號(hào),里面指定要從其他模塊導(dǎo)入的變量名。大括號(hào)里面的變量名,必須與被導(dǎo)入模塊(profile.js)對(duì)外接口的名稱相同。因此,import {}中的變量名是export {}的key值
import命令輸入的變量都是只讀的,因?yàn)樗谋举|(zhì)是輸入接口。因此,模塊導(dǎo)出的值,只能獲取,不可以修改
export導(dǎo)出//example2.js // 1. 直接導(dǎo)出某個(gè)變量或函數(shù) export const a = 1; export function fun() { } // 2. 先定義變量或者函數(shù),再進(jìn)行導(dǎo)出 const a = 1; export {a}; function fun() { } export {fun}; // 3. 加別名進(jìn)行導(dǎo)出 const a = 1; export {a as b} // b是a的別名 // 4. export default 注意,一個(gè)文件只能有一個(gè)default,這代表是模塊的整體輸出import導(dǎo)入
// 1. 常規(guī)導(dǎo)入 import {a, fun} from "example2.js" // 2. 別名導(dǎo)入 import {a as b} from ... // 3. *導(dǎo)入整個(gè)模塊 import * as b from ... // 4. 前三種是module.export,此處是export default import b from ... console.log(a) console.log(fun())
補(bǔ)充:export與import可復(fù)合書寫,如果在一個(gè)模塊之中,先輸入后輸出,不做任何操作
export {} from ""
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/104430.html
Javascript只有六個(gè)假值(用在條件if的判斷) showImg(https://segmentfault.com/img/bVLiHL?w=424&h=346); 全等于 類型不同,返回false類型相同,則 showImg(https://segmentfault.com/img/bVLiHS?w=476&h=341); 等于 類型相同:同上=== 類型不同:嘗試類型轉(zhuǎn)換==【不是真值和...
摘要:前言是現(xiàn)在幾乎每個(gè)項(xiàng)目中必備的一個(gè)東西,但是其工作原理避不開對(duì)的解析在生成的過程,有引擎,早期了項(xiàng)目,了解這個(gè)之前我們先來看看這種引擎解析出來是什么東西。 前言 babel是現(xiàn)在幾乎每個(gè)項(xiàng)目中必備的一個(gè)東西,但是其工作原理避不開對(duì)js的解析在生成的過程,babel有引擎babylon,早期fork了項(xiàng)目acron,了解這個(gè)之前我們先來看看這種引擎解析出來是什么東西。不光是babel還有...
摘要:任務(wù)性質(zhì)不同的任務(wù)可以用不同規(guī)模的線程池分開處理。線程池在運(yùn)行過程中已完成的任務(wù)數(shù)量。如等于線程池的最大大小,則表示線程池曾經(jīng)滿了。線程池的線程數(shù)量。獲取活動(dòng)的線程數(shù)。通過擴(kuò)展線程池進(jìn)行監(jiān)控??蚣馨ň€程池,,,,,,等。 Java線程池 [toc] 什么是線程池 線程池就是有N個(gè)子線程共同在運(yùn)行的線程組合。 舉個(gè)容易理解的例子:有個(gè)線程組合(即線程池,咱可以比喻為一個(gè)公司),里面有3...
摘要:很多小白在看過很多教程之后仍然在敲代碼的時(shí)候不清楚應(yīng)該以什么樣的步驟進(jìn)行,那么這篇文章就一步一步分解整個(gè)過程,慢動(dòng)作回放讓大家看的清清楚楚明明白白。另外,中視圖部分最好單獨(dú)出來,放在新建一個(gè)文件夾目錄下,并被名為引用,把其他邏輯部分放后者。 whay write this: 很多小白在看過很多教程之后仍然在敲代碼的時(shí)候不清楚應(yīng)該以什么樣的步驟進(jìn)行,那么這篇文章就一步一步分解整個(gè)過程,慢...
閱讀 1325·2021-11-24 10:24
閱讀 4171·2021-11-22 15:29
閱讀 1103·2019-08-30 15:53
閱讀 2804·2019-08-30 10:54
閱讀 1991·2019-08-29 17:26
閱讀 1297·2019-08-29 17:08
閱讀 616·2019-08-28 17:55
閱讀 1597·2019-08-26 14:01