IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> 模块、命名空间和三斜线指令 -> 正文阅读

[JavaScript知识库]模块、命名空间和三斜线指令

模块、命名空间和三斜线指令

“内部模块”现在称做“命名空间”

“外部模块”现在则简称为“模块”

// 导出

// 导出声明  任何声明(比如变量,函数,类,类型别名或接口)都能够通过添加export关键字来导出
export interface StringValidator {
    isAcceptable(s: string): boolean;
}

class ZipCodeValidator implements StringValidator {
    isAcceptable(s: string) {
        return s.length === 5;
    }
}
// 导出语句
export { ZipCodeValidator };
// 别名导出
export { ZipCodeValidator as mainValidator };

// 全部导出
export * from "module"  

// 导入
// 导入一个模块中的某个导出内容
import { ZipCodeValidator } from "./ZipCodeValidator";
// 别名导入
import { ZipCodeValidator as ZCV } from "./ZipCodeValidator";

// 将整个模块导入到一个变量,并通过它来访问模块的导出部分
import * as validator from "./ZipCodeValidator";
let myValidator = new validator.ZipCodeValidator();

// 全部导入
import "./my-module.js";


// 每个模块都可以有一个default导出。 默认导出使用 default关键字标记;并且一个模块只能够有一个default导出。 需要使用一种特殊的导入形式来导入 default导出
// 声明变量使用关键字declare来表示声明其后面的全局变量的类型
declare let $: JQuery;
export default $;
import $ from "JQuery";

// 若使用export =导出一个模块,则必须使用TypeScript的特定语法import module = require("module")来导入此模块
export = ZipCodeValidator;
import zip = require("./ZipCodeValidator");

// 模块声明通配符
declare module "*!text" {
    const content: string;
    export default content;
}
import fileContent from "./xyz.txt!text";


// 命名空间
declare namespace D3 {
    export interface Selectors {
        select: {
            (selector: string): Selection;
            (element: EventTarget): Selection;
        };
    }

    export interface Event {
        x: number;
        y: number;
    }

    export interface Base extends Selectors {
        event: Event;
    }
}

declare var d3: D3.Base;


/// <reference path="..." />指令是三斜线指令中最常见的一种。 它用于声明文件间的 依赖。
// 可以把它理解为单行注释,只不过它比较特殊,它会被当成编译器指令解析使用
// 你也可以把它理解的mport,它可以告诉编译器在编译过程要引入的额外的文件
// 必须出现在首行,否则就为单行注释

// myModules.d.ts
declare module "SomeModule" {
    export function fn(): string;
}
// myOtherModule.ts
/// <reference path="myModules.d.ts" />   // 用于声明文件之间的依赖
/// <reference types="..." />  // 用于声明对某个包的依赖
/// <reference no-default-lib="true" /> //用于将一个文件标记成默认库
/// <amd-module /> // 用于给编译器传人一个可选的模块名
/// <amd-dependency path="x"/> // 告诉编译器有个非ts模块需要注入,不过指令已经使用import “x”语句代替
import * as m from "SomeModule";
  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2022-05-02 13:26:19  更:2022-05-02 13:26:30 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 22:01:00-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码