摘要:模塊的定義模塊是自動運行在嚴格模式下并且沒有辦法退出運行的代碼。數據模塊函數模塊類模塊模塊的導出給數據函數類添加一個,就能導出模塊。數據模塊函數模塊類模塊模塊的引用在另外的文件中,我們可以引用上面定義的模塊。導入指定的模塊。
模塊的定義
模塊是自動運行在嚴格模式下并且沒有辦法退出運行的JavaScript代碼。
模塊可以是函數、數據、類,需要指定導出的模塊名,才能被其他模塊訪問。
//數據模塊 const obj = {a: 1} //函數模塊 const sum = (a, b) => { return a + b } //類模塊 class My extends React.Components { }模塊的導出
給數據、函數、類添加一個export,就能導出模塊。一個配置型的JavaScript文件中,你可能會封裝多種函數,然后給每個函數加上一個export關鍵字,就能在其他文件訪問到。
//數據模塊 export const obj = {a: 1} //函數模塊 export const sum = (a, b) => { return a + b } //類模塊 export class My extends React.Components { }模塊的引用
在另外的js文件中,我們可以引用上面定義的模塊。使用import關鍵字,導入分2種情況,一種是導入指定的模塊,另外一種是導入全部模塊。
1、導入指定的模塊。
//導入obj數據,My類 import {obj, My} from "./xx.js" //使用 console.log(obj, My)
2、導入全部模塊
//導入全部模塊 import * as all from "./xx.js" //使用 console.log(all.obj, all.sun(1, 2), all.My)默認模塊的使用
如果給我們的模塊加上default關鍵字,那么該js文件默認只導出該模塊,你還需要把大括號去掉。
//默認模塊的定義 function sum(a, b) { return a + b } export default sum //導入默認模塊 import sum from "./xx.js"模塊的使用限制
不能在語句和函數之內使用export關鍵字,只能在模塊頂部使用,作為react和vue開發者的你,這個限制你應該很熟悉了。
在react中,模塊頂部導入其他模塊。
import react from "react"
在vue中,模塊頂部導入其他模塊。
修改模塊導入和導出名
有2種修改方式,一種是模塊導出時修改,一種是導入模塊時修改。
1、導出時修改:
function sum(a, b) { return a + b } export {sum as add} import { add } from "./xx.js" add(1, 2)
2、導入時修改:
function sum(a, b) { return a + b } export sum import { sum as add } from "./xx.js" add(1, 2)無綁定導入
當你的模塊沒有可導出模塊,全都是定義的全局變量的時候,你可以使用無綁定導入。
模塊:
let a = 1 const PI = 3.1314
無綁定導入:
import "./xx.js" console.log(a, PI)瀏覽器加載模塊
有用過webpack打包js模塊的同學可能有經驗,使用webpack打包了多個js文件,然后放到HTML使用script加載時,如果加載順序不對,就會出現找不到模塊的錯誤。
這是因為模塊之間是有依賴關系的,就像你使用jQuery的時候,必須先加載jQuery的代碼,才能使用jQuery提供的方法。
加載模塊的方法,總是先加載模塊1,再加載模塊2,因為module類型默認使用defer屬性。
總結
模塊還有很多有意思的特性,對react和vue開發有一定經驗的人對這些基本知識應該了如指掌,新手不了解也不用太心急,寫幾個module.js做一下嘗試。如果瀏覽器報錯,不能識別export模塊,你可能需要先加載babel的js插件來編譯它。
=> 返回文章目錄
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/112358.html
摘要:模塊的定義模塊是自動運行在嚴格模式下并且沒有辦法退出運行的代碼。數據模塊函數模塊類模塊模塊的導出給數據函數類添加一個,就能導出模塊。數據模塊函數模塊類模塊模塊的引用在另外的文件中,我們可以引用上面定義的模塊。導入指定的模塊。 模塊的定義 模塊是自動運行在嚴格模式下并且沒有辦法退出運行的JavaScript代碼。 模塊可以是函數、數據、類,需要指定導出的模塊名,才能被其他模塊訪問。 //...
摘要:最近買了深入理解的書籍來看,為什么學習這么久還要買這本書呢主要是看到核心團隊成員及的創造者為本書做了序,作為一個粉絲,還是挺看好這本書能給我帶來一個新的升華,而且本書的作者也非常厲害。 使用ES6開發已經有1年多了,以前看的是阮一峰老師的ES6教程,也看過MDN文檔的ES6語法介紹。 最近買了《深入理解ES6》的書籍來看,為什么學習ES6這么久還要買這本書呢?主要是看到Daniel A...
摘要:前端日報精選浮點數精度之謎前端面試必備基本排序算法從賀老微博引出的遍歷器加速那些奧秘進階之深入理解數據雙向綁定全棧天中文深入理解筆記用模塊封裝代碼前端架構經驗分享周二放送自制知乎專欄譯在大型應用中使用的五個技巧掘金開發指南眾成 2017-08-02 前端日報 精選 JavaScript 浮點數精度之謎前端面試必備——基本排序算法從賀老微博引出的遍歷器(Iterators)加速那些奧秘J...
閱讀 1970·2021-11-22 15:33
閱讀 3006·2021-11-18 10:02
閱讀 2615·2021-11-08 13:16
閱讀 1629·2021-10-09 09:57
閱讀 1375·2021-09-30 09:47
閱讀 2010·2019-08-29 13:05
閱讀 3073·2019-08-29 12:46
閱讀 1013·2019-08-29 12:19