JavaScript   发布时间:2022-04-16  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了使用Javascript / RequireJS,打字稿AMD实现不好大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
如果我有这个ts模块:
export function say(){
    console.log("said");
}

我使用amd选项编译它,我可以很容易地从ts客户端使用它:

import foo = module("tsmodule")
foo.say();

export var x = 123;

但是,如果我有相当于ts模块的javascript:

define(["require","exports"],function(require,exports) {
    function say() {
        console.log("said");
    }
    exports.say = say;
})

没有办法轻易使用它.最简单的解决方案:

// of course you can use .d.ts for requirejs but that is beside the point
declare var require:any;

// will fail with error module has not been loaded yet for context
// http://requirejs.org/docs/errors.html#notloaded
var useme = require("jsmodule")
useme.say();

export var x = 123;
import foo = module("tsmodule")
foo.say();

因错误http://requirejs.org/docs/errors.html#notloaded而失败.由于“jsmodule”未传递给生成的typescript中的define调用.

我有两个解决方法

>不要使用导入/导出(语言功能丢失)
>使用require([])(仍然无法导出依赖于require([])调用的内容)

有限制:https://github.com/basarat/typescript-requirejs.还有另外一种方法吗?如果没有,你可以在这里投票:https://typescript.codeplex.com/workitem/948

大佬总结

以上是大佬教程为你收集整理的使用Javascript / RequireJS,打字稿AMD实现不好全部内容,希望文章能够帮你解决使用Javascript / RequireJS,打字稿AMD实现不好所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。