Javascript 为什么xmllint在aurelia应用程序中不起作用,但在普通js应用程序中起作用
我有一个我制作的SDK工具包。它有一个依赖项,它是一些C语言命令行工具的包装器,可以在浏览器中工作。现在我想测试它是否在浏览器环境中工作。在sdk中,我必须为xmllint创建自定义类型,因为它在sdk中没有自己的类型,并且使用了typescriptJavascript 为什么xmllint在aurelia应用程序中不起作用,但在普通js应用程序中起作用,javascript,webpack,aurelia,xmllint,Javascript,Webpack,Aurelia,Xmllint,我有一个我制作的SDK工具包。它有一个依赖项,它是一些C语言命令行工具的包装器,可以在浏览器中工作。现在我想测试它是否在浏览器环境中工作。在sdk中,我必须为xmllint创建自定义类型,因为它在sdk中没有自己的类型,并且使用了typescript declare module "xmllint"{ var xmllint:any; export default xmllint; } 我从运行在webpack dev server上的非常简单的js应用程序开始。在那里我导入了我的SDK。创建
declare module "xmllint"{
var xmllint:any;
export default xmllint;
}
我从运行在webpack dev server
上的非常简单的js应用程序开始。在那里我导入了我的SDK。创建了使用xmllint并调用verify的类实例,以使用xsd验证xml。很好
但由于它基本上不能在普通的js上使用,所以我尝试使用更复杂的应用程序。我安装了aurelia cli
,并用它创建了一个项目(au new和setup withtypescript
和npm
),然后在webpack dev server
上运行它。现在我以同样的方式使用SDK,但现在我得到了错误:
TypeError:xmllint\u WEBPACK\u IMPORTED\u MODULE\u 0\u default.a.validateXML不是函数
我猜是aurelia cli创建的某种aurelia或webpack配置导致了此错误,但我似乎找不到哪个配置。是什么导致aurelia出现此错误?我如何解决此问题?解决了此问题。问题是webpack.config缺少模块规则
module:{
rules:[
...,
{test: path.resolve(__dirname, "node-modules/xmllint/xmllint.js"),use:["imports-loader?require=>null", "exports-loader?xmllint"]}
,...
}]}
你能举个更好的例子吗?如何使用此代码段?谢谢,但不适用于vue cli…如何使用vue.config.js语法编写此代码段?@gfdevelope我不熟悉vue,因此我无法在这方面帮助您。但我所做的是basicli对webpack的导入导出攻击。js是从C源代码编译成js的,因此没有正常的导出。您需要了解vue如何解析路径。