当使用grunt-ts
和指定和输出文件时,我的应用程序按预期运行,但由于该选项不支持快速编译,我尝试使用常规编译,其中所有.ts
文件都位于dist
文件夹中
有两个问题,首先,它将无法加载任何导入的文件,因为它会尝试在没有扩展名的情况下查找它。作为快速修复,我load
在 require.js 文件上编辑了 fn 并且我的所有依赖项都正确加载,但随后源映射停止工作,我得到的只是 chrome 检查器上的一个空白文件(当然我不想依赖在一个肮脏的黑客上)。
请注意,我对 requirejs 不是很熟悉,所以我不太确定这是我这边的错误配置、错误还是缺少的东西。
我的 grunt 配置,与 ts 相关
ts: {
options: {
module: 'amd',
target: 'es5',
experimentalDecorators: true
},
dev: {
src: ['client-app/**/*.ts'],
outDir: "dist",
watch: '.'
}
},
我bootstrap.js
这只是入口点和 require.js 配置文件
requirejs.config({
baseUrl: '.',
waitSeconds: 20
});
requirejs(['/init'], function(module) {
module.main()
});
init
编译文件的简化版本
define(["require", "exports", './section-manager.view'], function (require, exports, section_manager_view_1,) {
"use strict";
function main() {
///
}
exports.main = main;
});
//# sourceMappingURL=init.js.map
和 html
<script src="/js/lib/require.js" data-main="/bootstrap"></script>
任何帮助表示赞赏,谢谢
编辑:
使用 System.js 或 @Luis answer 解决了加载问题。通过使用sourceRoot
或解决源映射问题
inlineSourceMap: true,
inlineSources: true
到 ts 选项