TypeScript AMD到浏览器上的单个文件

时间:2017-11-14 20:56:32

标签: javascript typescript gruntjs requirejs amd

我正在使用 TypeScript 并使用 grunt 将其编译为带有AMD模块的ES5的一个文件。

例如我有app.ts

import {CONFIG} from './config';
console.log(CONFIG.app)

config.ts

 export const CONFIG = {
    app      : 'MyApp'
}

App是最终需要执行的主脚本,我的构建输出如下:

define("config", ["require", "exports"], function (require, exports) {
    "use strict";
    Object.defineProperty(exports, "__esModule", { value: true });
    exports.CONFIG = {
        app: 'MyApp'
    };
});
define("main", ["require", "exports", "config"], function (require, exports, config_1) {
    "use strict";
    Object.defineProperty(exports, "__esModule", { value: true });
    console.log(config_1.CONFIG.app);
});

我怎么能让它在浏览器上运行?

我试图包含require.js,但没有成功。

我需要将它编译为单个文件,并且所有配置都需要在gruntfile.js上,因为它将是一个大型项目,将作为单个文件

此外,是否有更高效的方法不需要第三方库将其全部编译到一个文件中?

1 个答案:

答案 0 :(得分:2)

  

我怎么能让它在浏览器上运行?

您需要使用require.js运行时。 AMD需要AMD加载器,require.js是最受欢迎的选择。

更多

文档http://requirejs.org/docs/start.html

个人

就个人而言,我只会在webpack中使用commonjs:https://basarat.gitbooks.io/typescript/content/docs/quick/browser.html