Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么xmllint在aurelia应用程序中不起作用,但在普通js应用程序中起作用_Javascript_Webpack_Aurelia_Xmllint - Fatal编程技术网

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

Javascript 为什么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。创建

我有一个我制作的SDK工具包。它有一个依赖项,它是一些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和setup with
typescript
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如何解析路径。