我有一个TypeScript文件,在该文件中,我捕获发生在DOM上的事件,并将数据流发送到AWS。目前,我正在HTML中使用该脚本进行测试,
<script type="text/javascript" src="./tracker.ts?projectId=123&apiKey=trac3ab1e-50fa-50b5-dab5-acce55e5cafe"></script>我已经使用包创建包,所以不要认为我是附加ts文件在html。
在npm run dev之后,<script>更改为
<script type="text/javascript" src="./tracker.568463.js?projectId=123&apiKey=trac3ab1e-50fa-50b5-dab5-acce55e5cafe"></script>tracker.ts有一个类Tracker,我也在该类中加载了AWS,并将数据流发送到Tracker。
我想从另一个脚本加载这个tracker.ts。我一点也不困惑。
为了实现,我尝试了很少的东西
首先,我将<script>中的<script>更改为type="module",参考文献,这是没有帮助的,而且代码的某些部分也没有被读取。
其次,我试图将tracker.ts的Tracker类作为模块从本参考中导入,但我对如何实现它感到困惑--我的情况是,我还收到警告说tracker.ts不是一个模块。
发布于 2020-11-09 11:55:13
我觉得你真的很困惑。首先,不能直接加载TypeScript文件。您需要将类型记录代码编译为浏览器能够理解的javascript。其次,您试图用params(?projectId=123&apiKey=trac3ab1e-50fa-50b5-dab5-acce55e5cafe)加载tracker.ts,但无法做到这一点。如果您正在加载internet上的外部资源,您可以这样做。我真的建议在尝试AWS动能之类的东西之前先学习基础知识。
编译TypeScript
在终端中运行:npm install tsc然后运行:tsc tracker.ts然后,您将看到一个tracker.js文件。然后加载这个文件。
关于帕拉姆斯:
而不是使用params:
在加载tracker.js脚本之前,添加以下内容:
<script>
window.projectId = 'somethin'
window.apiKey = 'somethin'
</script>然后,在跟踪器文件中,您可以这样访问:
const projected = window.projectId;
const apiKey = window.apiKey注意:更改tracker.ts后的,再次运行tsc tracker.ts,因此更改将反映tracker.js
https://stackoverflow.com/questions/64750937
复制相似问题