热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

带有AMD和require.js的打字稿

如何解决《带有AMD和require.js的打字稿》经验,应该怎么办?

我正在使用带有AMD和require.js的Typescript,但我无法使用typescript编译器输出将在加载模块后执行的代码.

这是main.ts:

import { foo } from './bar';

foo('world');

这是bar.ts:

export function foo(name: string) {
  alert('Hello ' + name);
}

我使用以下tsconfig.json文件编译它:

{
    "compilerOptions": {
        "alwaysStrict": true,
        "module": "amd",
        "outFile": "client.js",
        "target": "es5"
    },
    "files": [
        "main.ts"
    ]
}

并将其包含在我的HTML中,如下所示:



但是,生成的Javascript代码如下所示:

define("bar", ["require", "exports"], function (require, exports) {
    "use strict";
    function foo(name) {
        alert('Hello ' + name);
    }
    exports.foo = foo;
});
define("main", ["require", "exports", "bar"], function (require, exports, bar) {
    "use strict";
    bar.foo('world');
});

一切都很好,除了我想main直接在模块中执行代码的事实.所以最后的定义应该是

define(["require", "exports", "bar"], ...

代替

define("main", ["require", "exports", "bar"], ...

目前,我需要用Javascript编写的第三个脚本来加载main模块,我认为将main模块作为可重用代码是不好的风格.

如何将typescript编译器main.ts作为可执行定义而不是模块定义输出?


推荐阅读
author-avatar
迷失港湾的豪
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有