我可以使用.ts
工具手动构建tsc
个文件。我看到为async / await关键字生成了包装器。
但是我有使用systemjs动态设置transile的问题。
的index.htm:
<script src="https://cdnjs.cloudflare.com/ajax/libs/systemjs/0.19.16/system.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/typescript/1.7.5/typescript.min.js"></script>
<script>
System.config({
transpiler: 'typescript',
typescriptOptions: {
target: 'es6'
},
packages: {
'': {
defaultJSExtensions: 'ts'
}
}
});
System.import('app').catch(console.error.bind(console));
</script>
app.ts:
console.log('hello');
async function run() {
console.log('world');
}
run();
开发人员控制台中的错误:
SyntaxError: missing ; before statement
请参阅plnkr
答案 0 :(得分:0)
问题在于指定格式&#39; esm&#39;。或者将import
之类的关键字添加到.ts
文件中,以便systemjs可以选择正确的加载程序。
System.config({
transpiler: 'typescript',
meta: {
'app.ts': {
format: 'esm'
}
}
});
System.import('app.ts').catch(console.error.bind(console));
更新了plnkr
现在它就像一个魅力!