当使用externs和目标JavaScript时,如何强制Haxe编译器使用require语句?

当使用externs和目标JavaScript时,如何强制Haxe编译器使用require语句?,javascript,haxe,Javascript,Haxe,我正在使用来自的一些外部程序,我的目标是客户端JS。根据haxejskit说明,我在build.hxml文件中包含了以下行: --macro npm.Package.export("package.json") 现在,当我编译时,会生成一个package.json文件,它标识了我需要安装的依赖项。然后我跑: npm install 这些依赖项安装在节点\u模块/中。现在,我想用我刚刚下载到node\u modules/中的JS库打包我的应用程序的内置JS(由Haxe编译器生成)。通常,我会使

我正在使用来自的一些外部程序,我的目标是客户端JS。根据
haxejskit
说明,我在
build.hxml
文件中包含了以下行:

--macro npm.Package.export("package.json")
现在,当我编译时,会生成一个
package.json
文件,它标识了我需要安装的依赖项。然后我跑:

npm install
这些依赖项安装在
节点\u模块/
中。现在,我想用我刚刚下载到
node\u modules/
中的JS库打包我的应用程序的内置JS(由Haxe编译器生成)。通常,我会使用类似的方法来实现这一点,但webpack取决于是否存在CommonJS或AMD依赖声明。Haxe编译器不会在编译的JS中插入
require
语句——它假定这些依赖项将是全局可用的

Haxe确实提供了一种机制,用于将CommonJS
require
语句放入已编译的JS:。但是extern的作者负责将这个注释添加到他们的extern类中,就像haxejskit一样


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

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

--macro addMetadata('@:jsRequire("fs")', 'path.to.TheExtern')
因此,即使您不拥有源代码,您也可以使用Haxe元数据装饰类


或者,您也可以在上提交问题,询问原因。

谢谢,问题已经提交。