为什么xmllint在aurelia应用程序中不起作用,而在普通js应用程序中起作用

问题描述 投票:0回答:1

我有一个自己制作的SDK工具包。它具有xmllint依赖性,它是某些C语言命令行工具的包装,并且可以在浏览器中工作。现在,我想测试一下它们是否都可以在浏览器环境中工作。在sdk中,我必须为xmllint创建自定义类型,因为它确实有自己的名称,并且在SDK中使用typescript即时消息。

declare module "xmllint"{
var xmllint:any;
export default xmllint;
}

我从运行在webpack-dev-server上的非常简单的js应用开始。我在那里导入了我的SDK。创建使用xmllint的类实例,并调用verify以使用xsd验证xml。效果很好。

但是由于它主要用于普通的js,所以我尝试使用更复杂的应用程序。我安装了aurelia-cli并用它创建了一个项目(au new,并用typescriptnpm进行了设置)并在webpack-dev-server上运行。现在,我以相同的方式使用我的SDK,但是现在出现错误:

TypeError:xmllint_WEBPACK_IMPORTED_MODULE_0__default.a.validateXML不是一个函数

我的猜测是aurelia-cli创建的某种aurelia或webpack配置正在引起此错误,但我似乎无法找到哪个配置。是什么原因导致aurelia出现此错误,我该如何解决?

javascript webpack aurelia xmllint
1个回答
0
投票

解决了问题。问题是webpack.config缺少模块规则

{test: path.resolve(__dirname, "node-modules/xmllint/xmllint.js"),use:["imports-loader?require=>null", "exports-loader?xmllint"]}
© www.soinside.com 2019 - 2024. All rights reserved.