成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

JS_導(dǎo)入導(dǎo)出

MartinDai / 1066人閱讀

摘要:方式導(dǎo)入導(dǎo)出一個文件,可以向外無數(shù)個變量,函數(shù),對象,但是的時候,僅僅需要載入一次文件即可。所以,無形之后,會增加一個頂層命名空間。

Node方式導(dǎo)入導(dǎo)出

一個JavaScript文件,可以向外exprots無數(shù)個變量,函數(shù),對象,但是require(); 的時候,僅僅需要 載入一次JS文件即可。 所以,無形之后,會增加一個頂層命名空間。

導(dǎo)入一個空模塊,是一個空對象,一個模塊就是一個對象。

導(dǎo)出方式:

exports, 導(dǎo)出整個式子

module.exports, 導(dǎo)出賦值部分

導(dǎo)入方式:

reuire()

// 導(dǎo)出一個變量
exports.a = 10;

// 導(dǎo)入該變量
let b = require("./export")

// 導(dǎo)入的形式 `console.log(b)`輸出導(dǎo)入的值:
// { a: 10 }
// 導(dǎo)出一個變量,直接需要變量值使用.
// module.exports = "name";

// 導(dǎo)入該變量
let b = require("./export")

// 導(dǎo)入的形式 `console.log(b)`輸出導(dǎo)入的值:
// name
// 導(dǎo)出對象
module.exports = {
  name1: 123,
  name2: 456
}

// 導(dǎo)入該變量
let b = require("./export")

// 導(dǎo)入的形式 `console.log(b)`輸出導(dǎo)入的值:
// { name1: 123, name2: 456 }
// 導(dǎo)出對象
exports.msg = {
  name1: 1,
  name2: 2
}

// 導(dǎo)入該變量
let b = require("./export")

// 導(dǎo)入的形式 `console.log(b)`輸出導(dǎo)入的值:
// { msg: { name1: 1, name2: 2 } }
// 導(dǎo)出函數(shù)
exports.showMsg = function () {
}

// 導(dǎo)入該變量
// let b = require("./export")

// 導(dǎo)入的形式 `console.log(b)`輸出導(dǎo)入的值:
// { showMsg: [Function] }

// 在 引用結(jié)果 需要  通過  變量 引用對象 執(zhí)行
// var b= require();
// b.showMsg();
// 導(dǎo)出函數(shù)
module.exports = function () {
}

// 導(dǎo)入該變量
let b = require("./export")

// 導(dǎo)入的形式 `console.log(b)`輸出導(dǎo)入的值:
// [Function]

// 引入文件的 變量  直接執(zhí)行

對象,函數(shù)常使用的導(dǎo)出方式:module.exports

對應(yīng)
import "helpers"
// 也稱: require("···")
import Express from "express"
// 也稱: Express = require("···").default || require("···")
import { indent } from "helpers"
// 也稱: indent = require("···").indent
import * as Helpers from "helpers"
// 也稱: Helpers = require("···")
import { indentSpaces as indent } from "helpers"
// 也稱: indent = require("···").indentSpaces
export default function () { ··· }
// 也稱: module.exports.default = ···
export function mymethod () { ··· }
// 也稱: module.exports.mymethod = ···
export const pi = 3.14159
// 也稱: module.exports.pi = ···
ES6和TS方式導(dǎo)入導(dǎo)出

導(dǎo)出:export
導(dǎo)入:import

注意點:

導(dǎo)出和導(dǎo)入,除了使用as之外,變量名相同

導(dǎo)出一個文件,默認是一個空對象

直接使用導(dǎo)入文件定義變量名,直接執(zhí)行

default導(dǎo)出,在導(dǎo)入的時候可以取任意變量名

export default默認導(dǎo)出模塊不能使用{}對象導(dǎo)出

// 導(dǎo)出一個常量
export const foo = Math.sqrt(2)

// 導(dǎo)入
import { foo } from "./export"
import * as Tools from "./export" // 使用 Tools.foo
function myFunction () {}
// 導(dǎo)出已經(jīng)聲明的函數(shù)
export { myFunction }

導(dǎo)入
import { myFunction } from "./export"
// 多個導(dǎo)出
export function cube(x: number): number {
    return x * x * x
}
const foo: number = Math.PI * Math.sqrt(2)
export { foo } // 導(dǎo)出多個

// 導(dǎo)入
import { cube, foo } from "./export"
// 導(dǎo)出函數(shù)
export default function () {}
export default function fun () {}

// 導(dǎo)入
import myFunction from "./export" // 可以取任意變量名
// 如果導(dǎo)出默認,定義函數(shù)名或者變量名,或者類名
// 導(dǎo)入的時候可以寫和原來相同名字,也可以取任意變量名
// 導(dǎo)出類
export default class {}

// 導(dǎo)入
import Test from "./export"

一個文件(模塊)默認的導(dǎo)出只能有一個, 可以是類,函數(shù), 對象等

導(dǎo)入整個模塊的內(nèi)容,在當(dāng)前作用域插入export變量,包含export文件中全部導(dǎo)出綁定(包括export default):

// 導(dǎo)出多個模塊
export function query () {}
export function update () {}

// 導(dǎo)入
import * as API from "./export"

將整個模塊作為附加功能導(dǎo)入, 但是不導(dǎo)入模塊的導(dǎo)出成員:

import "my-module"

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/108457.html

相關(guān)文章

  • 深入 CommonJs 與 ES6 Module

    摘要:目前主流的模塊規(guī)范模塊通用模塊如果你在文件頭部看到這樣的代碼,那么這個文件使用的就是規(guī)范實際上就是全局變量這三種風(fēng)格的結(jié)合這段代碼就是對當(dāng)前運行環(huán)境的判斷,如果是環(huán)境就是使用規(guī)范,如果不是就判斷是否為環(huán)境,最后導(dǎo)出全局變量有了后我們的代碼和 目前主流的模塊規(guī)范 UMD CommonJs es6 module umd 模塊(通用模塊) (function (global, facto...

    sanyang 評論0 收藏0
  • es6學(xué)習(xí)筆記-module_v1.0_byKL

    摘要:學(xué)習(xí)模塊不是對象,而是通過命令顯式指定輸出的代碼,輸入時也采用靜態(tài)命令的形式。的模塊自動采用嚴(yán)格模式命令用于規(guī)定模塊的對外接口,命令用于輸入其他模塊提供的功能。該文件內(nèi)部的所有變量,外部無法獲取。 es6 學(xué)習(xí)-module_v1.0 ES6模塊不是對象,而是通過export命令顯式指定輸出的代碼,輸入時也采用靜態(tài)命令的形式。 ES6的模塊自動采用嚴(yán)格模式 export命令用于規(guī)定模...

    VishKozus 評論0 收藏0
  • 富婆給你說require、import和export

    摘要:所有依賴這個模塊的語句,都定義在一個回調(diào)函數(shù)中,等到加載完成之后,這個回調(diào)函數(shù)才會運行。目前,主要有兩個庫實現(xiàn)了規(guī)范和。這些導(dǎo)出對象用名稱進行區(qū)分,稱之為命名式導(dǎo)出。 簡單粗暴,富婆給你說,其實我也沒太搞明白,最近看了一篇文章我才理清了一點點思路,最近整日沉迷于肥宅快樂水,技術(shù)都跟不上了,來篇文章,提神醒腦,朝著我的富婆夢更近一步,早日走上富婆路,包養(yǎng)我家大狼狗?。?! 為什么有模塊概念...

    cod7ce 評論0 收藏0
  • 富婆給你說require、import和export

    摘要:所有依賴這個模塊的語句,都定義在一個回調(diào)函數(shù)中,等到加載完成之后,這個回調(diào)函數(shù)才會運行。目前,主要有兩個庫實現(xiàn)了規(guī)范和。這些導(dǎo)出對象用名稱進行區(qū)分,稱之為命名式導(dǎo)出。 簡單粗暴,富婆給你說,其實我也沒太搞明白,最近看了一篇文章我才理清了一點點思路,最近整日沉迷于肥宅快樂水,技術(shù)都跟不上了,來篇文章,提神醒腦,朝著我的富婆夢更近一步,早日走上富婆路,包養(yǎng)我家大狼狗?。?! 為什么有模塊概念...

    sourcenode 評論0 收藏0
  • 這幾個概念你可能還是沒搞清require、import和export

    摘要:如果這個模塊還依賴其他模塊,那么函數(shù)的第一個參數(shù),必須是一個數(shù)組,指明該模塊的依賴性。目前,主要有兩個庫實現(xiàn)了規(guī)范和。這些導(dǎo)出對象用名稱進行區(qū)分,稱之為命名式導(dǎo)出。簡單粗暴,富婆給你說,其實我也沒太搞明白,最近看了一篇文章我才理清了一點點思路,最近整日沉迷于肥宅快樂水,技術(shù)都跟不上了,來篇文章,提神醒腦,朝著我的富婆夢更近一步,早日走上富婆路,包養(yǎng)我家大狼狗!??! 為什么有模塊概念 理想情況...

    only_do 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<