![](/img/trans.png)
[英]How do I share common typescript code from one VS2013 project into a separate VS2013 project
[英]How to share a typescript function from a react project with a common html website?
我想将一个复杂的打字稿导出函数分享到一个简单的HTML-javascript网站
我尝试使用npm tsc将文件转换为javascript,但生成的文件具有“导出”功能,可在浏览器控制台中创建错误。
myFunction.ts
export const getTest = (test: any) => {
// Change test object
return test;
};
生成了myFunction.js
Object.defineProperty(exports, "__esModule", { value: true });
exports.getTest = function (test) {
// Change test object
return test;
};
当我尝试在HTML文件中包含带有脚本标记的文件时,浏览器控制台实际上警告我“未捕获的ReferenceError:导出未定义”。
我究竟做错了什么?
为了使用原始的myFunction.ts
文件,您需要做的就是:
删除键入并将扩展名更改为.js
:
export const getTest = (test) => {
// Change test object
return test;
};
然后,在该文件的HTML文件的<script>
标记中,确保将type
属性设置为module
如下所示:
<script type="module" src="myFunction.js"></script>
最后,您需要在要使用它的位置import
该功能。
只要您考虑浏览器兼容性,就应该这样做:
为了最终明确这一点,这里有一个Plunkr来展示我的意思。
export
关键字创建一个模块,该模块只能与模块系统(如webpack)一起使用。
要么使用一个模块系统或丢弃export
创建一个用于创建全局名称一个正常的文件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.