TypeScript模块整理(二)编译生成

一、生成模块代码

1.编译时指定模块目前参数,编译器会生成相应的供Node.Js(CommonJS),Require.Js(AMD),isomorphic(UMD),SystemJD或ECMScript2015 native modules(ES6)模块加载系统使用的代码。

在tsconfig.json中module可以修改模块的生成对象


二、TypeScript模块之Require.Js使用示例

创建typescript项目参考:TypeScript开发环境搭建-Visual Studio Code

1.创建模块1 module.1.ts

export interface StringValidator {
    isAcceptable(s: string): boolean;
}

2.创建模块2 lettersonly.ts

import { StringValidator } from "./module.1";

export const lettersRegexp = /^[A-Za-z+]$/;
export class LetterOnValidator implements StringValidator {
    isAcceptable(s: string) {
        return lettersRegexp.test(s);
    }
}
3.测试文件 test.ts

//同一个导入语句导入多个模块
import {  lettersRegexp,LetterOnValidator} from "./lettersonly";
console.info(lettersRegexp);
console.info(LetterOnValidator);
4.在HTML中使用编译后台的js文件

引入require.js文件

<script src="../lib/require.js"></script>
使用模块,自动加载对应的文件

 <button id="name"></button>
    <script>
        require.config({
            baseUrl: '../out',
        });
        //加载test.js文件
        require(['test'], function () {
            console.info('回调处理');
        });

        // //在模块中使用JQuery
        // require.config({
        //     baseUrl: '../out',
        //     deps: [
        //         '../lib/jquery-1.11.3.min'
        //     ]
        // });
        // require(['test1'], function (test1) {
        //     //console.info(test1.showOne);
        //     var showOne = new test1.showOne();
        //     showOne.show();
        //     console.log(showOne.name);
        // });
    </script>

三、TypeScript模块,在NodeJs中使用示例

NodeJs项目中使用TypeScript参考:NodeJs之TypeScript开发环境--VS Code

1.创建模块StringValidator.ts

export interface StringValidator {
    isAcceptable(s: string): boolean;
}

2.创建模块ZipCodeValidator.ts

import { StringValidator } from "./StringValidator";
const numberRegexp = /^[0-9]+$/;
export class ZipCodeValidator implements StringValidator {
    isAcceptable(s: string) {
        return s.length === 5 && numberRegexp.test(s);
    }
}
3.创建测试文件main.ts

//引用NodeJs模块
import http = require('http');
console.info(http);

//引用 TypeScript模块使用nodde的require()
import zip = require('./ZipCodeValidator');
let strings = ["Hello", "98052", "101"];
strings.forEach(s => {
    let validator = new zip.ZipCodeValidator();
    console.log(validator.isAcceptable(s));
});

//使用 TypeScript的方式
import { ZipCodeValidator } from "./ZipCodeValidator";
let zipValidator = new ZipCodeValidator();
strings.forEach(s => {
    console.log(zipValidator.isAcceptable(s));
});

4.运行main.js,查看测试结果。


更多:

TypeScript模块整理(一)基础语法

NodeJs之TypeScript开发环境--VS Code

TypeScript开发环境搭建-Visual Studio Code

VS Code智能提示功能之Typings

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值