我正在使用 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上,因为它将是一个大型项目,将作为单个文件。
此外,是否有更高效的方法不需要第三方库将其全部编译到一个文件中?
答案 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