摘要:一前言用模塊寫(xiě)代碼,為什么要用模塊來(lái)寫(xiě)代碼之前,在中定義的一切,都是共享一個(gè)全局作用域的,隨著應(yīng)用變得復(fù)雜,這樣做會(huì)引起如命名沖突和安全問(wèn)題于是引入了模塊。
一.前言:
用模塊寫(xiě)代碼,為什么要用模塊來(lái)寫(xiě)代碼:ES6之前,在js中定義的一切,都是共享一個(gè)全局作用域的,隨著web應(yīng)用變得復(fù)雜,這樣做會(huì)引起如:命名沖突和安全問(wèn)題、于是引入了模塊。
二.清楚一個(gè)概念:export 和 export default 是ES6 里面的API(本文只介紹ES6的)
exports 和 model..exports 是node.js里面的API,更切確的說(shuō)是Common.js里的(就和require 和 import 相似)
三.export// a.js export let a = 1 //輸出變量 export fn(){...} //輸出函數(shù) export class Class{ constructor(a,b){ this.a = a; this.b = b; } } //輸出類(lèi) fn2(){...} //定義一個(gè)函數(shù) export fn2; //建議以這種在末尾統(tǒng)一輸出的方式export export {fn2 ,fn}; //導(dǎo)出多個(gè)變量,要有{} export {fn2 as asFn2}; //導(dǎo)出時(shí)重命名,要有{} // b.js import {fn2} from "a.js"; //export 的引入要加{},單個(gè)也要加; import {fn2 , a , Class as Class1} from "a.js" //引入多個(gè)要用 ‘,’隔開(kāi); import * as example from "a.js"; //引入整個(gè)模塊 example.a = 1; //使用模塊,在有很多需要引入時(shí),建議這種方法;四.export defalut(模塊的默認(rèn)值)
// a.js export default function(num1,num2){...} //導(dǎo)出默認(rèn)值,只能導(dǎo)出一個(gè) export let a = 1; //導(dǎo)出變量a // b.js import any from "a.js"; //引入默認(rèn)值,any 可以是任意的名字,不用{} import {a} from "a.js"; //引入a ; import any,{a} from "a.js" //默認(rèn)值必須放在非默認(rèn)值前面 import {default as any , a} from "a.js" //有重命名就要大括號(hào)包起來(lái)總結(jié):
export :
單個(gè)不用括號(hào),多個(gè)要用{},as也要用{}; (因?yàn)閑xport default 只能export 一個(gè));
import
除了* as ,別的重命名都要用{}
export 要用{}
既有export 和 export default時(shí):import any,{a} from "a.js’ 默認(rèn)寫(xiě)前面
by:Beast 原創(chuàng):轉(zhuǎn)載請(qǐng)聲明
覺(jué)得對(duì)你有用,請(qǐng)點(diǎn)贊!歡迎探討指點(diǎn)!
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/113137.html
摘要:一前言用模塊寫(xiě)代碼,為什么要用模塊來(lái)寫(xiě)代碼之前,在中定義的一切,都是共享一個(gè)全局作用域的,隨著應(yīng)用變得復(fù)雜,這樣做會(huì)引起如命名沖突和安全問(wèn)題于是引入了模塊。 一.前言: 用模塊寫(xiě)代碼,為什么要用模塊來(lái)寫(xiě)代碼:ES6之前,在js中定義的一切,都是共享一個(gè)全局作用域的,隨著web應(yīng)用變得復(fù)雜,這樣做會(huì)引起如:命名沖突和安全問(wèn)題、于是引入了模塊。 二.清楚一個(gè)概念: export 和 ex...
摘要:在上一篇文章中中和模塊的導(dǎo)入導(dǎo)出對(duì)比,偏向于理論層面,還有一些同學(xué)在微信群里或是私下里針對(duì)一些問(wèn)題進(jìn)行了溝通,所以有了這一篇文章,對(duì)的導(dǎo)入導(dǎo)出進(jìn)行總結(jié)和實(shí)踐當(dāng)直接給時(shí),會(huì)失效這個(gè)問(wèn)題其實(shí)已經(jīng)和導(dǎo)入導(dǎo)出沒(méi)什么關(guān)系了,我們看一個(gè)知乎上的問(wèn)題詳細(xì) 在上一篇文章中JavaScript中AMD和ES6模塊的導(dǎo)入導(dǎo)出對(duì)比,偏向于理論層面,還有一些同學(xué)在微信群里或是私下里針對(duì)一些問(wèn)題進(jìn)行了溝通,所以...
更新:最新的源碼和使用說(shuō)明放到了github上 點(diǎn)擊跳轉(zhuǎn)本文的重點(diǎn)在于restful接口的設(shè)計(jì)與實(shí)現(xiàn),使用到了express和monogoose.點(diǎn)擊查看express教程點(diǎn)擊查看monogoose教程ES6入門(mén)教程----阮一峰的博客 node4.x對(duì)ES6的支持并不完善,建議使用更高版本的node在實(shí)際開(kāi)發(fā)中請(qǐng)?jiān)谖募^部添加use strict來(lái)聲明使用嚴(yán)格模式為了有助于更好的理解后期的代碼,...
摘要:學(xué)習(xí)模塊不是對(duì)象,而是通過(guò)命令顯式指定輸出的代碼,輸入時(shí)也采用靜態(tài)命令的形式。的模塊自動(dòng)采用嚴(yán)格模式命令用于規(guī)定模塊的對(duì)外接口,命令用于輸入其他模塊提供的功能。該文件內(nèi)部的所有變量,外部無(wú)法獲取。 es6 學(xué)習(xí)-module_v1.0 ES6模塊不是對(duì)象,而是通過(guò)export命令顯式指定輸出的代碼,輸入時(shí)也采用靜態(tài)命令的形式。 ES6的模塊自動(dòng)采用嚴(yán)格模式 export命令用于規(guī)定模...
閱讀 3250·2021-11-24 09:39
閱讀 2935·2021-09-09 11:34
閱讀 3203·2021-09-07 09:58
閱讀 2307·2019-08-30 13:07
閱讀 2872·2019-08-29 15:09
閱讀 1569·2019-08-29 13:01
閱讀 2313·2019-08-26 12:18
閱讀 1937·2019-08-26 10:28