gpt4 book ai didi

javascript - 当使用 extern 并针对 JavaScript 时,如何强制 Haxe 编译器使用 require 语句?

转载 作者:行者123 更新时间:2023-11-27 22:59:05 28 4
gpt4 key购买 nike

我正在使用 haxe-js-kit 中的一些外部人员,我的目标是客户端 JS。根据 haxe-js-kit 说明,我在 build.hxml 文件中包含以下行:

--macro npm.Package.export("package.json")

现在,当我编译时,会生成一个 package.json 文件,它标识了我需要安装的依赖项。然后我运行:

npm install

这些依赖项安装在node_modules/中。现在,我想将我的应用程序构建的 JS(由 Haxe 编译器生成)与我刚刚下载到 node_modules/ 的 JS 库一起打包。通常,我会使用类似 webpack 的内容要做到这一点,但 webpack 依赖于 CommonJS 或 AMD 依赖声明。 Haxe 编译器不会在编译后的 JS 中插入 require 语句——它假定这些依赖项是全局可用的。

Haxe 确实提供了一种将 CommonJS require 语句放入已编译的 JS 中的机制:@:jsRequire("fs") 。但是 extern 的作者负责将此注释添加到他们的 extern 类中,并且it doesn't look就像 haxe-js-kit 这样做。

作为 externs 的客户端,有没有办法告诉 Haxe 编译器在输出 JS 中包含 require 语句,这样我就可以使用像 webpack 这样的工具将我的依赖项打包成一个文件?

最佳答案

您也许可以使用编译器参数自行添加元数据:

--macro addMetadata('@:jsRequire("fs")', 'path.to.TheExtern')

因此,即使您不拥有源代码,您也可以使用 Haxe 元数据来装饰该类。

或者,您可以在 haxe-js-kit repo 上提交问题问为什么没有。

关于javascript - 当使用 extern 并针对 JavaScript 时,如何强制 Haxe 编译器使用 require 语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37290694/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com